728x90
반응형
Stack 클래스에 대한 설명에 앞서서 Stack에 대한 설명부터 하겠다.
Stack은 제일 마지막에 있는것이 제일먼저나오는 형태의 자료구조이다.
위의 형태를 LIFO(Last In First Out)이라고 한다.
그럼 Stack의 특징을 한번 살펴보자.
1. 먼저들어간 자료가 제일 마지막에 나옴.
2. 시스템 해킹에서 버퍼 오버플로우 취약점을 이용한 공격을 할때 스택 메모리의 영역에서 함
3. 인터럽트 처리, 수식의 계산 서브루틴의 복귀 번지 저장 등에 쓰인다.
4. 그래프의 깊이 우선 탐색에서 사용
5. 재귀적 함수를 호출할때 사용
Stack 사용법
Stack 선언
import java.util.Stack;
Stack<자료형> stack = new Stack<>(); //int형 스택 선언
Stack 값 추가
stack.push(자료형에 맞는값);
Stack 값 삭제(추출)
stack.pop();
위 메소드를 사용하게 되면 제일 최상단에 있는 값을 추출하게 된다.
Stact 상단 값 참조
stack.peek();
위 메소드는 참조만 하는것이기 때문에 Stack에 값이 남아있는다.
기타 메소드
stack.size(); // stack의 크기 출력 : 2
stack.empty(); // stack이 비어있는제 check (비어있다면 true)
stack.contains(1) // stack에 1이 있는지 check (있다면 true)
참조 : https://coding-factory.tistory.com/601
반응형
'코딩일기 > Java' 카테고리의 다른 글
[Java] 2차원 배열 출력 방법 (0) | 2021.06.14 |
---|---|
[Java] 2차원 배열 정렬 방법 (0) | 2021.06.14 |
[Java] Comperator 와 Comperable (0) | 2021.06.03 |
[Java] 배열 복사 하는 방법 ( clone(), copyOf(), copyOfRange() ) (0) | 2021.06.02 |
[Java] PriorityQueue(우선순위 큐) 설명과 사용법 (0) | 2021.05.28 |