import java.util.Stack;
Stack<Integer> stack = new Stack<>();
Stack<String> stack = new Stack<>();
stack.push(1); // stack에 값 1 추가
stack.push(2);
stack.pop(); // stack의 가장 위쪽에 있는 값 제거
stack.clear(); // stack의 모든 값 제거
stack.peek(); // stack의 가장 상단 값 출력
peek
: 단지 출력pop
: 값을 내보내면서 출력 (But 실제로는 데이터가 남아있음)how to use?🙄
stack.size(); // stack의 크기 구하기
stack.get(1); // stack의 index 1 값 호출
stack.empty(); // stack 비어있는지 확인 (비어있으면 true, 그렇지 않으면 false)
stack.contains(1); // stack에 1이 있는지 search
stack.indeOf(2); // 2가 어느 stack에 있는지 index 반환
stack.firstElement(); // stack의 맨 처음 input 값
stack.lastElement(); // (=peek) stack의 맨 마지막 input 값
// peek()은 empty() 상태일 때 EmptyStackException 에러
// lastElement()은 empty() 상태일 때 NoSuchElementException 에러
Stack st = new Stack(); // 타입 설정x -> Object로 사용
Stack<StackDemo> demo = new Stack<StackDemo>();
// class(StackDemo) 타입으로 선언
Stack<Integer> i = new Stack<Integer>();
Stack<Integer> ii = new Stack<>(); // 타입 생략 가능
pop()
하고 난 자리는 null로 설정remove()
를 하면 우리 눈에는 삭제되는 것처럼 보이지만 실제로는 데이터가 남아있음pop()
을 하면 내보내서 삭제된 것처럼 보이지만 remove()
를 했기 때문에 실제로는 데이터가 남아있다.