> 개발-IT-인터넷/> JAVA

자바 List와 Map의 차이점

jini:) 2023. 10. 6. 11:11
728x90
반응형
 

[해커랭크(HackerRank) JAVA 풀이] - Java List

해커랭크 - https://www.hackerrank.com/ Prepare > Java > Data Structures > Java List HackerRank HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere!

ji-ni.tistory.com

 

[해커랭크(HackerRank) JAVA 풀이] - Java Map

해커랭크 - https://www.hackerrank.com/ Prepare > Java > Data Structures > Java Map HackerRank HackerRank is the market-leading technical assessment and remote interview solution for hiring developers. Learn how to hire technical talent from anywhere! w

ji-ni.tistory.com

 

이전 글에서 해커랭크 문제를 풀다가, 자바에서 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
반응형