반응형
자바에서 Stack의 주요 특징은
나중에 넣은게 먼저 나온다는 것인데
이것을 LIFO (Last In First Out) 이라고 한다
1,2,3을 차례대로 넣고 꺼낼 시 3,2,1 순으로 나온다는 것
Stack의 주요 메소드는 아래와 같다
스택 안에 값 넣기
스택.add(값);
스택 크기 확인
stack.size();
스택 출력 시 나올 값 확인
스택.peek();
스택 값 변경하기
스택.set(인덱스, 값);
스택 값 제거하기
스택.remove(인덱스);
스택 인덱스의 값 확인
스택.elementAt(인덱스);
스택 특정 값이 어느 인덱스에 들었나 확인
스택.indexOf("값");
스택 값 뽑아내기(마지막에 넣은 순서대로 나옴)
스택.pop();
스택 비우기
스택.clear();
스택 비었는지 확인(true, false)
스택.empty();
예제에 사용한 코드는 아래와 같다
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Stack<String> stk = new Stack<String>();
stk.add("김철수");
stk.add("이영희");
stk.add("박영수"); // Stack에 값 추가(나중에 넣은게 먼저 나옴)
// Stack에 특정 값 들었나 확인
System.out.println("Stack 안에 이영희 들었는지 확인 : " + stk.contains("이영희"));
// Stack에서 다음에 나올 값 확인
System.out.println("Stack pop 시 값 : " + stk.peek());
// Stack의 i번째 인덱스에 뭐가 들었나 확인
System.out.println("0번째 인덱스 확인 : " + stk.elementAt(0));
// Stack에서 특정 값이 어느 인덱스에 들었나 확인
System.out.println("특정 값의 인덱스 확인 : " + stk.indexOf("이영희"));
// Stack의 i번째 인덱스 삭제
stk.remove(2);
// Stack의 특정 인덱스 값 변경
stk.set(1, "박영희");
// Stack의 크기 설정
// (설정 이전에 크기보다 Stack의 크기가 작으면 나머지는 null 처리)
stk.setSize(5);
System.out.println("###For 문 시작###");
for(int i = 0; i<stk.size();) {
System.out.println(stk.pop()); // Stack의 값 빼내기
}
stk.clear(); // Stack 비우기
System.out.println(stk.empty()); // Stack 비었나 확인
}
}
반응형
'Language > Java' 카테고리의 다른 글
자바 자료구조 총정리 (0) | 2020.02.23 |
---|---|
자바 Queue 예제부터 사용법까지 (0) | 2020.02.23 |
자바 Hashtable 예제부터 사용법까지 (1) | 2020.02.17 |
자바 변수 타입 확인방법 (0) | 2020.02.11 |
자바 제네릭스 개념 및 예제 (0) | 2020.02.11 |
댓글