2-1(1) Stack , Queue

zhyun1220·2020년 9월 14일
0

HighJava

목록 보기
2/67
post-thumbnail

Java Collection Framework

  1. 정의
  • 자바의 컬렉션(모음)객체들을 다루기 위해 제공되는 재사용 가능한 클래스
    또는 인터페이스를 통칭하는 표현.

Stack과 Queue는 LinkedList를 이용하여 사용할 수 있다

Stack => 선입후출(LIFO)의 자료구조

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

(ex)

LinkedList<String> stack = new LinkedList<>();

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.pop()); // 변학도 stack처럼 동작한다
System.out.println("현재 stack값들 :"+stack); //[일지매, 홍길동]
		
stack.push("성춘향"); // 데이터 등록
System.out.println("현재 stack값들 :"+stack); // [성춘향, 일지매, 홍길동]
System.out.println("꺼내온 자료 :"+stack.pop()); // 성춘향

Queue => 선입선출(FIFO)의 자료구조

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

(ex)

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.poll()); // 변학도


profile
HI :)

0개의 댓글