Chapter 13
13-1 컬렉션 프레임워크
- 컬렉션 프레임워크 : 널리 알려져 있는 자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현 클래스들을 java, util 패키지에서 제공. 이들을 총칭해서 부를 말
- 컬렉션 : 객체의 저장
- 프레임워크 : 사용 방법으로 정해놓은 라이브러리
- List 컬렉션 : List 컬렉션은 배열과 비슷하게 객체를 인덱스로 관리. 배열과의 차이점은 저장 용량이 자동으로 증가하며 객체를 저장할 때 자동 인덱스가 부여된다는 것. 추가, 삭제, 검색을 위한 다양한 메소드가 제공. List 컬렉션은 동일한 객체를 중복 저장할 수 있고 null도 저장 가능.
- Set 컬렉션 : Set 컬렉션은 저장 순서가 유지되지 않음. 객체를 중복해서 저장할 수 없고, 하나의 null만 저장 가능.
- Map 컬렉션 : Map 컬렉션은 키와 값으로 구성된 Map.Entry 객체를 저장하는 구조를 가지고 있음. Entry는 Map 인터페이스 내부에 선언된 중첩 인터페이스임. (여기서 키와 값은 모두 객체) 키는 중복 저장될 수 없지만 값은 중복 저장될 수 있음. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대체
13-2 LIFO와 FIFO 컬렉션
- 후입선출(LIFO; Last In First Out) : 나중에 넣은 객체가 먼저 빠져나가는 자료구조
- 선입선출(FIFO; First In First Out) : 먼저 넣은 객체가 먼저 빠져나가는 자료구조
- Stack : 후입선출을 구현한 클래스
- Queue : 선입선출에 필요한 메소드를 정의한 인터페이스