1. Stack
데이터를 차례대로 쌓는 자료구조 ( TOP & BOTTOM)
=> FILO(First In Last Out) 또는 LIFO(Last In First Out) 구조
TOP 에서 데이터 추가, TOP 에서 데이터 제거(삽입/삭제가 한 곳에서 이루어짐)
웹브라우저의 뒤로/앞으로 기능, 응용프로그램의 Undo/Redo 기능에 주로 사용
(스택 객체 2개를 활용하여 구현)
2. Queue
한 쪽에서 추가, 반대편에서 삭제가 이루어지는 자료구조
FIFO(First In First Out) 또는 LILO(Last In Last Out) 구조
구현체 클래스 : LinkedList(List 와 Queue 를 모두 구현한 클래스)
은행 번호표, 응용프로그램의 최근 사용 문서 기능에 주로 사용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
Stack stack = new Stack();
// push(Object o) : 요소 추가
stack.push("1 - www.itwillbs.co.kr");
stack.push("2 - www.nave.co.kr");
stack.push("3 - www.google.co.kr");
// peek() : 스택 맨 위의요소 확인(제거하지 않음)
System.out.println("스택 맨 위의 요소 (peek) : " + stack.peek());
System.out.println("스택 맨 위의 요소 (peek) : " + stack.peek());
System.out.println("스택의 모든 요소 : " + stack);
// 스택의 모든 요소 : [1 - www.itwillbs.co.kr, 2 - www.nave.co.kr, 3 - www.google.co.kr]
// pop() : 스택 맨 위의 요소 확인( 확인된 요소 제거함 = 꺼내기)
System.out.println("스택 맨 위의 요소 (pop) : " + stack.pop());
System.out.println("스택 맨 위의 요소 (pop) : " + stack.pop());
System.out.println("스택의 모든 요소 : " + stack);
// 스택의 모든 요소 : [1 - www.itwillbs.co.kr]
Queue q = new LinkedList(); // Queue 도 구현하고 Collection 도 구현받은 클래스
// offer(Object o); : 요소추가
q.offer("1 - Ex.java");
q.offer("2 - Test.jsp");
q.offer("3 - Memer.sql");
// peek() : 큐의 가장 오래된 요소(먼저 추가된 요소) 확인(제거하지 않음)
System.out.println("큐의 가장 오래된 요소 : "+ q.peek());
System.out.println("큐의 가장 오래된 요소 : "+ q.peek());
System.out.println("큐의 모든 요소 : "+ q);
// 큐의 모든 요소 : [1 - Ex.java, 2 - Test.jsp, 3 - Memer.sql]
// pop() : 큐의 가장 오래된 요소(먼저 추가된 요소) 확인(제거)
System.out.println("큐의 가장 오래된 요소 (꺼내기) : "+ q.poll());
System.out.println("큐의 가장 오래된 요소 (꺼내기) : "+ q.poll());
System.out.println("큐의 모든 요소 : "+ q);
// 큐의 모든 요소 : [3 - Memer.sql]
|
cs |
'Language > Java' 카테고리의 다른 글
시간 관련 클래스 및 패키지 (0) | 2020.06.25 |
---|---|
제네릭(Generic) (0) | 2020.06.25 |
Map 인터페이스 - Collection 프레임워크 (0) | 2020.06.25 |
enum 타입(열거형 데이터 타입) (0) | 2020.06.24 |
BigInteger & BigDecimal (0) | 2020.06.24 |