본문 바로가기

Java/본격 Java 컬렉션

[Java] Stack - Queue

 

Queue<E> 인터페이스
 - 저장하는 순서대로 출력되는 클래스
FIFO(First In First Out) 또는 LILO(Last In Last Out)
 - 보통 Queue인터페이스를 implements한 LinkedList를 사용해서 인스턴스 생성

Stack<E> 클래스
 - 저장한 순서와 반대로 출력되는 클래스
  FILO(First in Last Out) 또는 LIFO(Last In First Out)
 - 생성자
 Stack() : 빈 스택 인스턴스 생성
 - 주요 메소드
 리턴 메소드명 및 설명
 boolean empty() : 현재 스택이 비었는지 여부
 E peek() : 스택의 가장 위에 있는 데이터 리턴
 E pop() : 스택의 가장 위에 있는 데이터 리턴(스택에서는 삭제)
 E push(E item) : 스택에 객체를 저장
 int search(Object o) : 스택에서 객체(o)의 위치를 찾아 리턴(못 찾으면 -1을 리턴하고, 위치값이 인덱스가 아니므로 1부터 시작)

.

.

import java.util.*;

class StackQueueEx{
	public static void main(String[] args) {
		Stack st = new Stack();
		Queue q = new LinkedList();

		st.push("0"); 	st.push("1");	st.push("2");
		
		System.out.println("== stack ==");
		while (!st.empty())	{
			System.out.println(st.pop()); // 2, 1, 0
		}	
		q.offer("0"); 	q.offer("1");	q.offer("2");

		System.out.println("== queue ==");
		while (!q.isEmpty())	{
			System.out.println(q.poll()); // 0, 1, 2
		}
	}
}

.

.

Stack은 2 1 0 으로 출력이되고

Queue는 1 2 0 으로 출력된다.

728x90
반응형

'Java > 본격 Java 컬렉션' 카테고리의 다른 글

[Java] Arrays  (0) 2020.07.03
[Java] Iterator<E>  (0) 2020.07.03
[Java] LinkedList  (0) 2020.07.03
[Java] ArrayList  (0) 2020.07.03
[Java] 컬렉션 프레임워크(Collection Framework)  (0) 2020.07.03