Stack 선언
import java.util.Stack; //import 하기
Stack<String> stack = new Stack<>(); //String 형 Stack 선언
Stack의 메소드들
stack.push(10); //stack에 10 추가
stack.pop(); //stack의 마지막 push값 제거
stack.clear(); //stack의 전체 삭제
stack.peek(); //stack의 마지막 push값 확인
stack.size(); //stack의 배열 길이 수
stack.empty(); //stack이 비어있으면 true (있으면 false)
stack.contains(1); //stack에 값(1)이 들어있으면 true (없으면 false)
Dequeue 선언
Deque<Integer> deque = new LinkedList<>();
Deque 사용하기
add - 용량 초과시 예외 발생
add() - 마지막에 원소 삽입
addFirst() - 처음에 원소 삽입
addLast() - 마지막에 원소 삽입
0ffer - 용량 제한에 걸릴경우 False 반환, 삽입 성공시 True 반환
offer() - 마지막에 원소 삽입
offerFirst() - 처음에 원소 삽입
offerLast() - 마지막에 원소 삽입
remove: 덱이 비어있는 경우 예외 발생
remove() - 맨 앞의 원소 제거 후 해당 원소를 리턴
removeFirst() - 맨 앞의 원소 제거 후 해당 원소를 리턴
removeLast() - 마지막 원소 제거 후 해당 원소를 리턴
poll: 덱이 비어있는 경우 null return
poll() - 맨 앞의 원소 제거 후 해당 원소를 리턴
pollFirst() - 맨 앞의 원소 제거 후 해당 원소를 리턴
pollLast() - 마지막 원소 제거 후 해당 원소를 리턴
get: 덱이 비어있는 경우 예외 발생
getFirst() - 맨 앞의 원소를 리턴
getLast() - 마지막 원소를 리턴
peek: 덱이 비어있는 경우 null 리턴
peek() - 맨 앞의 원소를 리턴
peekFirst() - 맨 앞의 원소를 리턴
peekLast() - 마지막 원소를 리턴
removeFirstOccurrence(x) - 덱의 맨 앞부터 탐색하여 x와 동일한 첫 원소를 제거
동일한 원소가 없을 시 덱이 변경되지 않음
removeLastOccurrence(x) - 덱의 마지막부터 탐색하여 x와 동일한 첫 원소를 제거
동일한 원소가 없을 시 덱이 변경되지 않음
element() == removeFirst()
addFirst() == push()
removeFirst() == pop()
remove(x) - removeFirstOccurrence(x)와 동일
contains(x) - 덱에 x와 동일한 원소가 있는지 true 혹은 false 반환
size() - 덱의 원소 개수 리턴
iterator() - 덱의 반복자(iterator) 반환
isEmpty() - 덱이 비어있는지 true 혹은 false 반환
Deque<Integer> deque = new LinkedList<>();
deque.add(3);
deque.add(7);
deque.add(5);
for (int de : deque) {
System.out.print(de + " ");
}
System.out.println();
for (Iterator<Integer> it = deque.iterator(); it.hasNext();) {
System.out.print(it.next() + " ");
}
System.out.println();
Iterator<Integer> it = deque.iterator();
while (it.hasNext()) {
System.out.print(it.next() + " ");
}