[java] Stack, Queue

Mr.SQL·2020년 11월 23일
0

Stack


import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class StackQueueTest {
	public static void main(String[] args) {
		Stack<String> stack = new Stack<String>(); //Generics을 이용하여 Collection이 저장할 데이터 타입 지정
		for(int i=0;i<3;i++)
			stack.push("Hi-"+i); //stack에 데이터를 삽입하는 문장
		
		//stack = ["Hi-0", "Hi-1", "Hi-2"], top=2
		
		System.out.println(stack.pop()); //스택의 꼭대기 값을 반환하고 삭제한다.             Hi-2
		System.out.println(stack.peek()); //스택의 꼭대기 값을 반환한다.                  Hi-1
		System.out.println(stack.search("Hi-1")); //값이 존재하면 1, 아니면 -1을 출력한다.    1
		System.out.println(stack.isEmpty()); //스택이 비어있으면 true을 출력한다.         false
		System.out.println(stack);			//[Hi-0, Hi-1]
        

Queue


import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class StackQueueTest {
	public static void main(String[] args) {
		Queue<String> queue = new LinkedList<String>();
		for(int i=0;i<3;i++)
			queue.add("데이터-"+i); //큐에 데이터를 삽입한다.
            // queue.offer("데이터"); 로도 삽입 가능
		
		//queue = ["데이터-0", "데이터-1", "데이터-2"], front=0, rear=2
		
		System.out.println(queue.peek()); //큐의 front가 가리키는 값을 반환한다.         데이터-0
		System.out.println(queue.poll()); //큐의 front가 가리키는 값을 반환하고 삭제한다.    데이터-0
        // queue.remove()로도 삭제 가능
		System.out.println(queue.isEmpty()); // false
		System.out.println(queue);			//[데이터-1, 데이터-2]
	}
}
profile
Mr.SQL velog에 오신것을 환영합니다.

0개의 댓글