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]
}
}