Map은 컬렉션이아니다!
다만, 컬렉션처럼 쓸 수 있는 '메서드'가 있을 뿐.
초록색으로 표시된 건 모두 인터페이스!
인터페이스 : 기능을 약속한다.
Collection 인터페이스에는 모든컬렉션의 '공통 기능'만 정의한다.
따라서, set 등에는 순서가 없으므로, collection에는 get(index i)가 없다.

Stack : FILO
Queue : FIFO
- 톨게이트
`Set` : 집합 개념, 저장 순서가 유지되지 않고 중복을 허용하지 않는다.
순서 자체가 없다. .get(index) 메소드가 없다! (인덱스가 없어욧).
보통 Iterator 혹은 for-each를 사용한다.
- HashSet
해쉬테이블에 원소를 저장.(성능 우수), 순서가없다. - LinkedHashSet
여기에 한해서만, 순서를 유지한다.
중복을 허용하진 않는다! - TreeSet
링크드리스트로 만들었다. 자동정렬기능이 있음.
다만, 느리다. - EnumSet
중복되지않는 상수 그룹나타낼 때 사용.
HashSet : `Set set = new HashSet();`
- 합집합 `addAll()`
- 교집합 `retainAll()`
- 차집합 `removeAll()`
- 부분집합 `containsAll()`
Map : 인터페이스, 컬렉션 인터페이스와 다르다.
- HashMap,Hashtable,LinkedHashMap,TreeMap
Map.Entry객체를 저장하는 구조. 키(Key)에 값(Value)가 매핑된다.
entry : key+value
Map은 entry들의 set이라고 한다. key만 중복되면안되고, value는 중복되어도 된다.
`Map<K, V> map = new HashMap<K, V>();`
키 타입으로 String을 많이 사용하나, 문제에 따라 다름.
- String은 문자열이 같은 경우 동등객체가 될 수 있도록 hashCode()와 equals()메소드가 재정의되어있기 때문.
HashMap : 순서없음.
LinkedHashMap : 순서가 저장된 해쉬맵
PrettyPrinter 인터페이스 : show() 를 가짐.
'컴퓨터공학과 > Java 1 & 2' 카테고리의 다른 글
| [Java] 커피메이커 리팩토링 - SOLID 원칙 적용 +V2,V3 | 추가패턴조사 (0) | 2025.10.11 |
|---|---|
| [Java] Thread (0) | 2025.09.22 |
| JAVA backjoon 10815 이진탐색, 스트링빌더, 배열 (0) | 2025.07.13 |
| JAVA프로그래밍및실습/최윤정교수님/기말고사 범위 (0) | 2025.06.08 |
| Battle 과제 코드 수정 - 공격/힐링 모듈화 + 레벨업 모듈화 (0) | 2025.05.30 |