[JAVA][패스트캠퍼스]컬렉션 프레임워크_Stack과 Queue구현

김주현·2021년 5월 1일
0

Stack구현하기

  • Last In First Out(LIFO) : 맨 마지막에 추가 된 요소가 가장 먼저 꺼내지는 자료구조
  • 이미 구현된 클래스가 제공됨
  • ArrayList나 LinkedList로 구현 할 수 있음
  • 게임에서 무르기, 최근 자료 가져오기 등에 구현

Queue 구현하기

  • First In First Out(FIFO) : 먼저 저장된 자료가 먼저 꺼내지는 자료구조
  • 선착순, 대기열 등을 구현할 때 가장 많이 사용되는 자료구조
  • ArrayList나 LinkedList로 구현할 수 있음

package collection;

import java.util.ArrayList;

class MyStack {

	private ArrayList<String> arrayStack=new ArrayList<String>();
	
	public void push(String data) {
		arrayStack.add(data);
	}
	
	public String pop() {
		int len=arrayStack.size();
		if(len ==0) {
			System.out.println("스택이 비었습니다.");
			return null;
		}
		return arrayStack.remove(len-1);
	}
}

public class StackTest{
	public static void main(String[] args) {
		MyStack stack= new MyStack();
		stack.push("A");
		stack.push("B");
		stack.push("C");
		
		//LIFO 가장마지막 데이터를 가져다 씀
		System.out.println(stack.pop());
		System.out.println(stack.pop());
		System.out.println(stack.pop());
		System.out.println(stack.pop());
		
	}
}

0개의 댓글