- 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계
- 데이터를 구성하는 한 덩어리를 데이터 단위라고 하는데, 자료구조는 이러한 데이터를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법.
🔴 ArrayList: 배열 기반; 데이터의 추가와 삭제에 불리함. 단, 순차적인 추가 및 삭제는 가장 빠름. 랜덤 요소에 대한 접근성이 뛰어나다.
🟠 LinkedList: 연결 기반; 데이터의 추가와 삭제에 유리함. 랜덤 요소에 대한 접근성이 좋지 않음.
🟡 HashMap: 배열과 연결이 결합된 형태. 추가, 삭제, 검색, 접근성 모두 뛰어남. 검색에 있어서 최고성능 > HashSet이 HashMap을 이용해 구현될 수 있음
🟢 TreeMap: 연결 기반; 정렬과 검색(특히 범위검색)에 적합. 다만, 검색 부분에 있어서 HashMap을 따라가진 못함. > TreeSet이 TreeMap을 이용해 구현될 수 있음
🔵 Stack: Vector를 상속 받아 구현 (더이상 vector 지원X) LIFO (Last in First Out)
🟣 Queue: LinkedList가 Queue 인터페이스를 구현함.