[TIL][Java][2023-12-04] 컬렉션 List - Stack
2023. 12. 4. 19:35ㆍTIL/Java
Stack
Stack은 값을 수직으로 쌓아놓고 넣었다가 빼서 조회하는 형식으로 데이터를 관리한다.
"나중에 들어간 것이 가장 먼저 나온다.(Last In First Out)" 라고 표현하며
주로 상자와 비유해서 설명한다.
- 특징
- 상자에 물건을 넣고 빼는 것처럼 밑에서 위로 쌓고, 꺼낼 때는 위에서부터 꺼내는 형식이다.
- 때문에 넣는 기능(push())과 조회(peek()), 꺼내는(pop()) 기능만 존재한다.
- 최근 저장된 데이터를 나열하고 싶거나 데이터의 중복 처리를 막고 싶을 때 사용한다.
- 기능
- 선언 : Stack<Integer> intStack 의 형태로 선언한다.
- 생성 : new Stack<Integer>(); 의 형태로 생성한다.
- 추가 : intStack.push(추가할 값) 의 형태로 값을 추가한다.
- 조회 : intStack.peek() 의 형태로 맨 위값을 조회한다.
- 꺼내기 : intStack.pop() 의 형태로 맨 위값을 꺼낸다.(꺼내고 나면 삭제된다.)
// Stack
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Stack<Integer> intStack = new Stack<Integer>(); // 선언 및 생성
// 값 추가
intStack.push(1);
intStack.push(2);
intStack.push(3);
while (!intStack.isEmpty()) { // 다 지워질때까지 출력
System.out.println(intStack.pop()); // 3,2,1 출력
}
// 다시 추가
intStack.push(1);
intStack.push(2);
intStack.push(3);
// peek()
System.out.println(intStack.peek()); // 3 출력
System.out.println(intStack.size()); // 3 출력 (peek() 할때 삭제 안됐음)
// pop()
System.out.println(intStack.pop()); // 3 출력
System.out.println(intStack.size()); // 2 출력 (pop() 할때 삭제 됐음)
System.out.println(intStack.pop()); // 2 출력
System.out.println(intStack.size()); // 1 출력 (pop() 할때 삭제 됐음)
while (!intStack.isEmpty()) { // 다 지워질때까지 출력
System.out.println(intStack.pop()); // 1 출력 (마지막 남은 값 하나)
}
}
}
'TIL > Java' 카테고리의 다른 글
[TIL][Java][2023-12-06] 컬렉션 - Set (0) | 2023.12.06 |
---|---|
[TIL][Java][2023-12-05] 컬렉션 - Queue (2) | 2023.12.05 |
[TIL][Java][2023-12-01] 컬렉션 List - LinkedList (0) | 2023.12.01 |
[TIL][Java][2023-11-30] 컬렉션 List - ArrayList (0) | 2023.12.01 |
[TIL][Java][2023-11-29] 컬렉션 (0) | 2023.11.29 |