
1. 개요
java.util.LinkedList는 Serializable, Cloneable, Iterable

2. Deque 구현
Deque 인터페이스는 first와 last로 삽입/삭제하는 것을 모두 지원하기 때문에 조금 복잡하다.

3. LinkedList 클래스만의 메소드 - Queue와 Stack 자료 구조 지원
LinkedList는 이런 Deque 속성과 LinkedList를 모두 구현하며, 또한 스스로 Stack 자료구조와 Queue 자료구조를 지원하는 메소드를 제공하고 있다.
3.1 Queue 자료 구조를 위한 메소드
Queue는 알다시피 FIFO이다. 다음 Queue 메소드를 지원한다.
- offer(): Queue에 삽입
- poll(): Queue에서 제거하며 읽기
- peek(): Queue에서 제거하지 않고 읽기
예제는 다음과 같다.
LinkedList<Integer> list = new LinkedList<Integer>();
list.offer(100);
list.offer(200);
list.offer(300);
System.out.println(list); //[100, 200, 300]
System.out.println(list.poll()); //100
System.out.println(list); //[200, 300]
System.out.println(list.peek()); //200
System.out.println(list); //[200, 300]
3.2 Stack 자료 구조를 위한 메소드
Queue는 알다시피 LIFO이다. 다음 Stack 메소드를 지원한다.
- push(): Stack에 삽입
- pop(): Stack에서 제거하며 읽기
- peek(): Stack에서 제거하지 않고 읽기
예제는 다음과 같다.
LinkedList<Integer> list = new LinkedList<Integer>();
list.push(100);
list.push(200);
list.push(300);
System.out.println(list); //[300, 200, 100]
System.out.println(list.pop()); //300
System.out.println(list); //[200, 100]
System.out.println(list.peek()); //200
System.out.println(list); //[200, 100]




近期评论