햄찌개

STACK & QUEUE 본문

고급 JAVA

STACK & QUEUE

햄찌개 2020. 9. 15. 18:48


 * Stack => 후입선출(LIFO)의 자료구조
 * Queue => 선입선출(FIFO)의 자료구조
 * 
 * Stack과 Queue는 LinkedList를 이용하여 사용할 수 있다.
 

 

 
 * Stack의 명령
 * 1) 자료 입력 : push(저장할값 )
 * 2) 자료 출력 : pop() => 자료를 꺼내온 후 꺼내온 자료를 stack에서 삭제한다.
 

		stack.push("홍길동");
		stack.push("일지매");
		stack.push("변학도");
		stack.push("강감찬");
		System.out.println("현재 stack 값들 : "+stack);
		
		String data = stack.pop();
		System.out.println("꺼내온 자료 : "+data);
		System.out.println("현재 stack 값들: "+ stack);
		System.out.println("꺼내온 자료 : "+stack.pop());
		
		stack.push("성춘향");
		System.out.println("현재 stack 값들: "+ stack);
		System.out.println("꺼내온 자료 : "+ stack.pop());
		
		System.out.println("=============================================");
		System.out.println();
		

 


 * Queue의 명령
 * 1) 자료 입력 : offer(저장할값 )
 * 2) 자료 출력 : poll() => 자료를 꺼내온 후 꺼내온 자료를 Queue에서 삭제한다.
  

		LinkedList<String> queue = new LinkedList<>();
	
		queue.offer("홍길동");
		queue.offer("일지매");
		queue.offer("변학도");
		queue.offer("강감찬");
		System.out.println("현재 queue 값들 : "+queue);
		
		String temp = queue.poll();
		System.out.println("꺼내온 자료 : "+temp);
		System.out.println("꺼내온 자료 : "+queue.poll());
		System.out.println("현재 queue 값들: "+ queue);
		
		if(queue.offer("성춘향")) {
			System.out.println("신규 등록된 자료 : 성춘향");
		}
		System.out.println("현재 queue 값들: "+ queue);
		System.out.println("현재 queue 값들: "+ queue.poll());
		
		System.out.println("=============================================");
		System.out.println();