본문 바로가기
알아두면 좋은 지식/it 이슈

Java [자료구조] List, Map Set 특징과 차이 정리

by 가아앗 2022. 10. 10.
반응형

인터페이스 분류

주요 인터페이스는 Set, List, Map이다.

List와 Set은 객체를 추가, 삭제, 검색하는 방법에서 많은 공통점이 있지만

Map은 Key , Value를 하나의 쌍으로 관리하기 때문에 List, Set가 사용 법이 다르다.

 

 

 Set

 

- 데이터의 집합에 순서가 없다.

- 중복된 데이터를 포함하지 않는다.

- 빠른 검색 속도를 가진다.


Set <String> set =...;

set.add("가아앗0");                 

// 객체 추가
list.remove("가아앗2");         

 // 객체 삭제


Set에서는 Iterator를 사용해서 객체를 한 번씩 반복해서 가져온다.

Iterator <String> iterator = set.iterator();

while( iterator.hasNext( ) ) {            // 객체를 하나씩 가져옴
        String str = iterator.next( );      // 저장된 객체만큼 수만큼 반복
}

for(String str : set){
}

 

 

 

 

 List

 

- 데이터를 순서에 맞게 구성한다.

- 중복을 허용한다.

- 크기가 가변적이다.


ist <String> list =...;

list.add("가아앗0");                 

// 맨 끝에 객체 추가

list.add(1, "가아앗1");             

// 지정된 인덱스에 객체 삽입

String str = list.get(1);           

// 인덱스로 객체 찾기

list.remove(0);                       

// 인덱스로 객체 삭제

list.remove("가아앗2");         

 // 객체 삭제


// 객체 수만큼 for문 사용하여 저장된 객체를 얻는다.
for(int i = 0; i < list.size(); i++ {

     String str = list.get(i);

}

for(String str : list) {

}

 Map

 

- Key와 Value가 한쌍으로 이루어지는 데이터 집합.

- Key에 대한 중복이 저장될 수 없다.

- 데이터 순서가 보장되지 않는다.

- 검색에 뛰어난 성능을 가지고 있다.

- 기존에 저장된 키와 동일한 키값이 저장하면 기존 값 사라지고 새로운 값으로 대치된다.


Map <String, Integer> map =...;

map.put("가아앗0" , 30);                 

// 맨 끝에 객체 추가

int score =  map.get("가아앗0");     

// 지정된 인덱스에 객체 삽입

map.remove("가아앗");                   

//  객체 삭제

 

// entrySet() 방법

for (Map.Entry<String, String> entry : map.entrySet()) {
	System.out.println("[key]:" + entry.getKey() + ", [value]:" + entry.getValue());
}
// keySet() 방법

for (String key : map.keySet()) {
	String value = map.get(key);
    System.out.println("[key]:" + key + ", [value]:" + value);
}

 

반응형

댓글