List, Set, Map, HashMap차이점

Kuno17·2023년 5월 11일
1

CS공부

목록 보기
10/17
post-thumbnail

List, Set, Map, HashMap은 모두 컬렉션(Collection) 인터페이스를 구현한 자료구조입니다. 하지만 각각의 특징과 용도가 다릅니다.

List

List는 순서가 있는 데이터를 저장하는 자료구조입니다. 중복된 값도 허용합니다. List는 인덱스를 통해 데이터에 빠르게 접근할 수 있으며, 데이터를 추가하거나 삭제하는 작업도 편리합니다. 그러나 검색 속도가 느리고, 데이터가 많아질수록 성능이 저하됩니다.

Set:

Set은 순서가 없는 데이터를 저장하는 자료구조입니다. 중복된 값은 허용하지 않습니다. Set은 집합 연산에 유용하게 사용됩니다. 검색 속도가 빠르며, 데이터가 많아져도 속도가 유지됩니다.

Map:

Map은 키와 값으로 이루어진 데이터를 저장하는 자료구조입니다. 각각의 값은 고유한 키를 가지며, 중복된 키는 허용하지 않습니다. Map은 데이터를 검색할 때 매우 빠르며, 데이터의 크기가 커져도 높은 성능을 유지합니다.

HashMap:

HashMap은 Map 인터페이스를 구현한 클래스 중 하나입니다. Hashing 기법을 사용하여 데이터를 저장하므로, 데이터를 검색할 때 매우 빠르며, 데이터의 크기가 커져도 높은 성능을 유지합니다. 하지만 데이터를 저장하는 순서가 유지되지 않으며, 동시에 여러 쓰레드가 접근할 때 동기화 문제가 발생할 수 있습니다.

따라서, List는 순서가 중요하고 중복을 허용하는 데이터를 저장할 때, Set은 중복을 허용하지 않는 데이터를 저장할 때, Map은 키와 값으로 이루어진 데이터를 저장할 때, HashMap은 검색 속도가 중요한 경우에 사용됩니다.

profile
자바 스터디 정리 - 하단 홈 버튼 참조.

0개의 댓글