써먹는 웹개발

[Java] List와 Map의 차이점 본문

웹개발/Java & Jsp

[Java] List와 Map의 차이점

kmhan 2018. 7. 27. 10:29


728x90
반응형

 ?? List vs Map



 개발을 하면서 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 사용!



출처: http://elena90.tistory.com/entry/자료구조 [오니님의짱꺤뽀]

728x90
반응형


Comments