package study;
import java.util.*;
public class StackQueue {
public static void main(String[] args) {
// 1. ì¤í (LIFO)
Stack stack = new Stack<>();
stack.push(1); // ìì´í
ë£ê¸°
stack.peek(); // top ìì´í
보기
stack.pop(); // top ìì´í
꺼ë´ê¸°
// peek & pop ë ë¤ ì¤íì´ ë¹ì´ìë¤ë©´ ì¤ë¥(EmptyStackException)를 ë°íí¨
// stack.peek();
// stack.pop();
stack.push(1);
stack.push(2);
stack.push(3);
System.out.println("index : " + stack.indexOf(2)); // í´ë¹ ê°ì ì¸ë±ì¤ ë°í
System.out.println("get : " + stack.get(1)); // 1ë² ì¸ë±ì¤ì ê° ë°í
System.out.println();
// 2. í(FIFO)
Queue queue = new LinkedList<>(); // ê°ë, í ë§ê³ ArrayList ì¬ì©ì´ ì¢ì ëë ìì
queue.add(1); // back ì ë£ì´ì§
queue.peek(); // front ì ê° íì¸
queue.poll(); // front ì ê° ì ê±°
// peek & poll ë ë¤ íê° ë¹ì´ìë¤ë©´ null ì ë°íí¨ (ì¤ë¥X)
System.out.println(queue.peek());
System.out.println(queue.poll());
System.out.println();
// 3. ë±(ìë°©í¥ push & pop ê°ë¥)
Deque deque = new ArrayDeque<>();
deque.addFirst(0); // front ì ê° ë£ê¸°
deque.peekFirst(); // front ìì ê° íì¸
deque.pollFirst(); // front ìì ê° ë¹¼ê¸°
deque.addLast(1); // back ì ê° ë£ê¸°
deque.peekLast(); // back ìì ê° íì¸
deque.pollLast(); // back ìì ê° ë¹¼ê¸°
// peek & poll ë ë¤ ë±ì´ ë¹ì´ìë¤ë©´ null ì ë°íí¨ (ì¤ë¥ X)
System.out.println(deque.pollLast());
System.out.println(deque.peekFirst());
// ** 주ì ì¬í **
// for(int i=0;i