Notice
Recent Posts
Recent Comments
Link
판봉 개발 일기
LIFO 컬렉션과 Stack 클래스 본문
728x90
LIFO 컬렉션은 "후입선출" 이라고도 한다.
"후입선출"이라 함은 나중에 넣은 객체가 먼저 빠져나가는 자료구조를 말한다.
LIFO 자료구조를 제공하는 Stack 클래스가 존재한다.
"Stack"은 위의 사진 처럼 세로를 연상하면 이해가 쉬울 것 같다.
다음 표는 Stack 클래스의 주요 메소드이다.
리턴 타입 | 메소드 | 설명 |
E | push(E item) | 주어진 객체를 스택에 넣음 |
E | peek() | 스택의 맨 위 객체를 가져옴 객체를 스택에서 제거하지 않음 |
E | pop() | 스택의 맨 위 객체를 가져오지만 객체를 스택에서 제거함 |
Stack 객체를 생성하는 방법은 아래와 같다.
Stack<E> stack = new Stack<E>();
Stack<E> stack = new Stack<>(); // 왼쪽 Stack에 지정된 타입을 자동으로 따라간다.
다음 코드는 Stack 클래스를 활용한 것이다.
public clas Coin {
private int value;
public coin(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
import java.util.*;
public class StackExample {
public static void main(String[] args) {
Stack<Coin> coinBox = new Stack<Coin>(); // Stack 객체 생성
coinBox.push(new Coin(100)); // Stack 메소드중 하나인 push사용
coinBox.push(new Coin(50));
coinBox.push(new Coin(500));
coinBox.push(new Coin(10));
while(!coinBox.isEmpty()) { // coinBox가 비어있지 않다면
Coin coin = coinBox.pop(); // Stack 메소드중 하나인 pop사용 객체를 스텍에서 제거
System.out.println("꺼내온 동전 : " + coin.getValue() + "원");
}
}
}
'자바 복습' 카테고리의 다른 글
입출력 스트림 (3) | 2021.07.14 |
---|---|
FIFO 컬렉션과 Queue 인터페이스 (2) | 2021.07.14 |
Hashtable에 대하여 (0) | 2021.07.14 |
Map 컬렉션중 하나인 HashMap에 대하여 알아보자 (0) | 2021.07.13 |
Map 컬렉션 (0) | 2021.07.13 |