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을 리턴한다.









+ Recent posts