개발을 하면서 Map과 List 개념은 확실하게 알아두고 상황에 맞게 사용할 줄 알아야한다.
먼저 개념을 간단히 말하자면
▶ List
: 순차적으로 데이터를 저장하거나 엑세스 할때 사용.
1
2
3
4
5
6
|
var aList = [] // List 선언
// 데이터 넣기
aList.push('A');
aList.push('B');
aList.push('C');
|
cs |
▶ Map
: '키-값' 의 쌍으로 나열되어 있어 키값을 통해 원하는 값을 한번에 찾아낼 수 있다.
속도가 빠르다.
1
2
3
4
5
|
var bMap = {name: '나님'}; // Map선언
// 데이터 넣기
bMap.age = 25;
bMap['address'] = '우리집';
|
cs |
-> dot('.')연산자 또는 대괄호('[]')연산자로 접근하는 방법의 차이점.
- bMap.age = 25; : 직접 접근 방법으로서, 컴파일 시 값이 지정된다.
- bMap[address] = '우리집'; : 런타임 시에 프로퍼티에 따라 동적으로 값이 지정된다.
↓
↓↓ 리스트를 Map에 넣는 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
var insertEventMap = {}; // Map 선언
for(var i=0; i < eventList.length; i++) {
var _eventList = eventList[i]; // List
var _eventFromDate = _eventList.fromDate;
var _eventToDate = _eventList.toDate;
var _keyDate = convertDate(_eventFromDate); // key 선언
// Map에 데이터 넣기
if(!insertEventMap[_keyDate]) { // 해당 key값이 없으면
insertEventMap[_keyDate] = []; // 초기화
} // 데이터 넣기
insertEventMap[_keyDate].push(_eventList);
}
|
cs |
정리!!!!!!!!!
값을 순차적으로 사용하고 할 때는 List 사용!키값을 가지고 원하는 값을 빠르게 찾고 싶을 때는 Map 사용!
출처: https://elena90.tistory.com/entry/자료구조
'ETC > Study' 카테고리의 다른 글
[Android] 4대 컴포넌트 (0) | 2022.08.04 |
---|---|
[Android] Intent란? (0) | 2022.07.08 |
[Java] HashMap, TreeMap, LinkedHashMap의 차이점 (0) | 2022.06.15 |
[Java] char배열과 String 클래스 차이 (0) | 2022.06.09 |
세마포어와 뮤텍스의 차이 (0) | 2021.07.13 |
댓글