728x90
반응형
스택(Stack) 이란?
- LIFO(Last In First Out) 구조로 마지막에 저장된 값이 첫번째로 꺼내와서 데이터를 사용하는 자료구조입니다.
- 출력 순서가 입력 순서의 역순으로 이루어질 때 많이 사용됩니다.
ex) 뒤로가기, 실행 취소, 역순 문자열 만들기, 재귀 알고리즘 등..
Java 스택(Stack) 관련 메서드
- push(E item): 해당 item을 Stack의 마지막에 저장 후 해당 item을 반환합니다.
- pop(): Stack에서 가장 나중에 저장된 item을 삭제하고 해당 item을 반환합니다.
- peek(): Stack의 가장 나중에 저장된 item을 반환합니다.
- empty(): Stack이 비어있으면 true, 아니면 false를 반환합니다.
- search(Object o): 해당 object의 위치를 반환합니다. 여기서 object는 item입니다.
예시)
Stack<String> stack = new Stack<>();
// stack이 비어있는지 확인합니다.
System.out.println("stack empty >>> "+stack.empty());
// chicken을 stack에 저장 후 해당 값을 반환합니다.
System.out.println("stack push(chicken) >>> "+stack.push("chicken"));
// pizza를 stack에 저장 후 저장이 됬으면 true, 실패한 경우 false를 반환합니다.
System.out.println("stack add(pizza) >>> "+stack.add("pizza"));
// pizza가 저장된 위치를 반환합니다.
System.out.println("stack search(pizza) >>> "+stack.search("pizza"));
// stack에 가장 최근 들어간 값을 반환합니다.
System.out.println("stack peek >>> "+stack.peek());
// stack에 가장 최근 들어간 값을 반환 후 해당 값을 제거합니다.
System.out.println("stack pop >>> "+stack.pop());
System.out.println("stack peek >>> "+stack.peek());
결과
stack empty >>> true
stack push(chicken) >>> chicken
stack add(pizza) >>> true
stack search(pizza) >>> 1
stack peek >>> pizza
stack pop >>> pizza
stack peek >>> chicken
728x90
반응형
'개발 > 자료구조' 카테고리의 다른 글
[자료구조] 링크드리스트(LinkedList) (0) | 2023.01.19 |
---|---|
[자료구조] 큐(Queue)란? (0) | 2022.12.29 |
[자료구조] 배열과 해시테이블의 차이점 (0) | 2022.12.29 |
[자료구조] 해시테이블이란? (0) | 2022.12.29 |
[자료구조] 배열(Array)이란? (0) | 2022.12.29 |
댓글