728x90
반응형
이전 글에서 해커랭크 문제를 풀다가, 자바에서 List와 Map의 차이점에 대해 더 알아볼 필요성을 느꼈다.
자바에서 List와 Map은 둘 다 데이터를 저장하고 관리하는 자료 구조이지만, 데이터를 저장하고 접근하는 방식과 목적 등 여러 가지 측면에서 차이점이 나타난다.
List와 Map의 차이점을 알아보자.
데이터 저장 방식
List | 순서가 있는 데이터의 컬렉션 데이터를 인덱스를 사용하여 저장하고 접근 데이터 순차적 나열 인덱스를 통해 개별 요소에 접근 가능 : list.get(index) |
Map | 키-값 쌍(key-value pair)으로 데이터를 저장하고 관리 각 데이터 요소는 고유한 키(key)와 연관된 값(value)로 구성 키를 사용하여 값을 검색하거나 저장 : map.get(key) 순서는 보장되지 않음 |
중복된 요소
List | 중복된 요소 허용 동일한 데이터 여러번 저장 가능 |
Map | 고유한 키를 사용하므로, 중복된 키 허용하지 않음 동일한 키를 가진 항목은 덮어쓰기 됨 |
반응형
목적
List | 순차적인 데이터를 저장하고 관리하기 위해 주로 사용 목록을 관리하거나 데이터 스택 또는 큐처럼 처리할때 유용 |
Map | 키와 값의 관계를 표현하고 저장하기 위해 사용 데이터 검색 및 키를 기반으로 데이터를 관리할 때 유용 |
예시
List | ArrayList, LinkedList와 같은 List 인터페이스를 구현한 클래스 ArrayList는 동적으로 크기가 조절되는 배열의 형태로 데이터를 저장 LinkedList는 이중 연결 리스트로 데이터를 저장 |
Map | HashMap, TreeMap 등이 Map 인터페이스를 구현한 클래스 HashMap은 해시 함수를 사용하여 키와 값을 관리 TreeMap은 이진 검색 트리를 사용하여 키와 값을 관리 |
List
순차적인 데이터를 저장
순서가 중요한 경우에 유용
Map
키-값 쌍을 사용하여 데이터를 저장
고유한 식별자로 값을 찾아야하는 경우에 유용
728x90
반응형
'> 개발-IT-인터넷 > > JAVA' 카테고리의 다른 글
[해커랭크(HackerRank) JAVA 풀이] - Java Hashset (1) | 2023.10.11 |
---|---|
[해커랭크(HackerRank) JAVA 풀이] - Java Stack (0) | 2023.10.10 |
[해커랭크(HackerRank) JAVA 풀이] - Java Map (1) | 2023.10.06 |
[해커랭크(HackerRank) JAVA 풀이] - Java List (1) | 2023.10.05 |
[해커랭크(HackerRank) JAVA 풀이] - Java 1D Array (Part 2) (0) | 2023.10.04 |