(2) List - List컬렉션, ArrayList, Vector, LinkedList 사용법
(4) Map - Map 컬렉션, HashMap, Hashtable 사용법
(5) 검색기능을 강화시킨 컬렉션 - TreeSet, TreeMap 사용법
1.
후입선출(LIFO: Last In First Out)은 나중에 넣은 객체가 먼저 빠져나가는 자료구조를 말합니다. ↑
반대로 선입선출(FIFO: First In First Out)은 먼저 넣은 객체가 먼저 빠져나가는 구조를 말합니다. →
컬렉션 프레임워크에는
LIFO 자료구조를 제공하는 스택(Stack) 클래스와
FIFO 자료구조를 제공하는 큐(Queue) 인터페이스를 제공하고 있습니다.
스택(Stack)을 응용한 대표적인 예가 JVM 스택 메모리입니다.
스택 메모리에 저장된 변수는 나중에 저장된 것부터 제거됩니다.
큐(Queue)를 응용한 대표적인 예가 스레드풀(ExecutorService)의 작업 큐입니다.
작업 큐는 먼저 들어온 작업부터 처리합니다.
2. Stack
- 후입선출(LIFO: Last In First Out)은 나중에 넣은 객체가 먼저 빠져나가는 자료구조를 말합니다. ↑
- Stack 주요 메소드들
- 사용법
- 사용 예
3. Queue
- 반대로 선입선출(FIFO: First In First Out)은 먼저 넣은 객체가 먼저 빠져나가는 구조를 말합니다. →
- Queue 주요 메소드들
- Queue 인터페이스를 구현한 대표적인 클래스는 LinkedList입니다.
LinkedList 는 List 인터페이스를 구현했기 때문에 List 컬렉션이기도 합니다.
다음 코드는 LinkedList 객체를 Queue 인터페이스 타입으로 변환한 것입니다.
- 사용법
- 사용 예
Queue를 이용해서 간단한 메시지 큐를 구현한 예제입니다.
먼저 넣은 메시지가 반대쪽으로 먼저 나오기 때문에 넣은 순서대로 메시지가 처리됩니다.