stack / queue
stack - 나중에 들어간 자료가 가장 먼저 나온다.
queue - 입력한 순서대로 자료가 나온다.
.
이런 자료형 구조를 알고 있어야 한다.
.
.
그 중에서 pop()과 peek() 차이를 알아야한다.
pop()은 가장 최근에 들어간 자료를 출력하면서 저장되어있던 자료를 제거한다.
peek()은 가장 최근에 들어간 자료를 출력하면서 저장되어있던 자료를 다시 돌려놓는다
.
.
import java.util.*;
public class StackEx1 {
public static void main(String[] args) {
Stack<Integer> st = new Stack<Integer>();
st.push(1001);
st.push(1002);
st.push(1003);
st.push(1004);
System.out.println("Stack의 내용 : " + st); // Stack의 내용 : [1001, 1002, 1003, 1004]
System.out.println("pop 메소드 수행 : " + st.pop()); // Pop 메소드 수행 : 1004
System.out.println("pop 수행 후 Stack의 내용 : " + st); // Pop 수행 후 Stack의 내용 : [1001, 1002, 1003]
System.out.println("1002 데이터 검색 : " + st.search(1002)); // 1002 데이터 검색 : 2(인덱스) // 스택은 인덱스가 1번부터 시작
System.out.println("1005 데이터 검색 : " + st.search(1005)); // 1005 데이터 검색 : -1 // 없기때문에 -1로 표시
System.out.println("peek 메소드 수행 : " + st.peek());
System.out.println("peek 수행 후 Stack의 내용 : " + st);
}
}
.
.
.
.
그리고 isEmpty()라는 메소드를 이용해 stack이 비어있는지 확인할 수 있다.
그것을 이용하여 stack에 있는 데이터들을 출력해본다
.
.
import java.util.*;
public class StackEx2 {
public static void main(String[] args) {
Stack<String> st = new Stack<String>();
st.push("장발장");
st.push("로빈슨크루소");
st.push("15소년 표류기");
st.push("주홍글씨");
System.out.println(st);
// pop을 이용하여 자료 출력하기
while(!st.isEmpty()) {
System.out.println(st.pop());
}
}
}
.
.
728x90
반응형
'Java > 본격 Java 컬렉션' 카테고리의 다른 글
[Java] TreeSet 개념 (0) | 2020.07.13 |
---|---|
[Java] HashSet 개념 (0) | 2020.07.13 |
[Java] LinkedList 활용하기( + 클래스 저장 , Iterator) (0) | 2020.07.13 |
[Java] LinkedList 활용하기 ( + peek, poll 메소드 사용) (0) | 2020.07.13 |
[Java] ArrayList에서 순서바꾸기( + Bubble Sort) (0) | 2020.07.13 |