Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Tags more
Archives
Today
Total
관리 메뉴

Formoat's Open Blog

컬렉션 - Stack, Queue 본문

Java/Java Basic

컬렉션 - Stack, Queue

snd-snd 2019. 9. 4. 00:13

1. Stack

1) 후입선출 (LIFO: Last In First Out) 구조를 가지고 있다.

2) 데이터의 추가/삭제를 하는 입/출구가 한 개로 공통으로 사용함

3) 스택은 Collection -> List -> Vector 를 상속 받는다. (상위 클래스의 메소드들을 가지고 있음)

 

Return Type Method Remarks
E push(E item) 스택에 데이터를 넣는다.
E pop() 스택에서 데이터를 가져오고 가져온 데이터는 스택에서 삭제한다.
E peek() 스택에서 데이터를 가져오고 가져온 데이터를 스택에서 삭제하지 않는다.

<표> Stack 주요 메소드

 

 

 

StackExample.java

public class StackExample {

	public static void main(String[] args) {

		Stack<String> stack = new Stack<>();

		stack.push("김태호");
		stack.push("김병준");
		stack.push("김태영");
		stack.push("최웅진");

		System.out.println("스택의 top위치의 요소 체크: " + stack.peek());
		System.out.println("스택의 top위치의 요소 반환: " + stack.pop());
		System.out.println("스택의 top위치의 요소 반환: " + stack.pop());
	}

}

 

// 실행결과 //
----------------------------------------------------
스택의 top위치의 요소 체크: 최웅진
스택의 top위치의 요소 반환: 최웅진
스택의 top위치의 요소 반환: 김태영

 

 

 

2. Queue

1) 선입선출 (FIFO: First In First Out) 구조를 가지고 있다.

2) 데이터의 추가/삭제를 하는 입/출구를 각각 가지고 있다.

3) 큐는 Collection 을 상속 받는다. (상위 클래스의 메소드들을 가지고 있음)

4) 구현은 LinkedList, PriorityQueue를 이용해 구현

 

Return Type Method Remarks
boolean offer(E e)  큐에 주어진 데이터를 넣는다.
E poll() 큐에서 데이터를 가져오고 가져온 데이터는 큐에서 삭제한다.
E peek() 큐에서 데이터를 가져오고 가져온 데이터는 큐에서 삭제하지 않는다.

<표> Stack 주요 메소드

 

 

 

QueueExample.java

public class StackExample {

	public static void main(String[] args) {

		Queue<String> queue = new LinkedList<>();

		queue.offer("서울");
		queue.offer("부산");
		queue.offer("대구");
		queue.offer("인천");

		System.out.println("큐의 first 반환: " + queue.poll());
		System.out.println("큐의 first 반환: " + queue.poll());
		System.out.println("큐의 first 체크: " + queue.peek());
		System.out.println("큐의 first 반환: " + queue.poll());
	}

}

 

// 실행결과 //
----------------------------------------------------
큐의 first 반환: 서울
큐의 first 반환: 부산
큐의 first 체크: 대구
큐의 first 반환: 대구

'Java > Java Basic' 카테고리의 다른 글

스트림 중간 처리  (0) 2019.09.04
스트림 (Stream)  (0) 2019.09.04
컬렉션 - Tree  (0) 2019.09.04
컬렉션 - Map  (0) 2019.09.04
컬렉션 - Set  (0) 2019.09.04
Comments