Java Stack(스택) 컬렉션 사용
결과
결과
코드
package pk;
import java.util.Stack;
public class Test {
public static void main(String[] args) {
Stack<String> ss = new Stack<>();
ss.push("가");
ss.push("나");
ss.push("다");
ss.push("가");
ss.push("라");
System.out.println("현재 맨위 : " + ss.peek());
System.out.println("'가' 순서 : " + ss.search("가"));
System.out.println("'라' 순서 : " + ss.search("라"));
while(!ss.empty() ) {
System.out.print(ss.pop() + " ");
}
}
}
Stack : 후입선출의 구조로서 나중에 들어온 값이 가장 먼저 나가는 자료구조이다.
E push(E e) : 객체 삽입
- 인수로 준 객체를 스택의 삽입한다.
- 리턴형은 E로 삽입한 객체를 리턴한다.
E peek() : 객체를 가져옴
- 스택에서 객체를 갖고온다.
후입선출의 구조이므로 가장 위에 있는 값, 즉 가장 마지막으로 들어온 값을 리턴한다.
- pop과는 다르게 꼭대기 값을 가져오기만 한다.
E pop() : 객체를 삭제
- 가장 꼭대기의 객체를 삭제한다.
- 리턴형은 E로서 삭제한 객체를 리턴한다.
ㄴ 객체를 가져옴 = peek()
ㄴ 객체를 가져옴 + 삭제 = pop()
int serach(E e) : 객체를 찾음
- 꼭대기부터 인수로 준 객체를 스택에서 찾는다.
- 찾는 다면 해당 객체의 순서를 리턴한다.
여기서 순서란 꼭대기(=1) 부터 아래로 내려갈수록 1씩 증가한다.
즉, 스택의 들어온 역순이며 해당 객체와 동일한 객체가 다수 존재하면 꼭대기와 가장 가까운 객체의 순서를 리턴한다.
만약 객체가 없을경우 -1을 리턴한다.
'JAVA > 심화' 카테고리의 다른 글
Java Key, Value - HashMap, Hashtable (0) | 2020.04.14 |
---|---|
Java Queue(큐) 컬렉션 사용 (0) | 2020.04.10 |
Java HashSet 합집합, 차집합, 교집합, 부분집합 (0) | 2020.04.09 |
Java HashSet - 집합 삽입, 삭제, 탐색 (0) | 2020.04.09 |
Java List Collection - ArrayList, LinkedList, Vector (0) | 2020.04.01 |