PrioityQueue
- 저장 순서에 관계 없이 우선순위가 높은 것부터 꺼낸다.
- null 은 저장할 수 없다. // 오류발생
- 저장공간 = 배열공간 으로 사용
- '힙(heep)' 자료구조형으로 저장
- FIFO X
Deque(Double - Ended Queue)
- Queue 의 변형
- 한 쪽 끝으로만 추가 & 삭제 가능
- 구현체로는 ArrayDeque , LinkedList 등
**덱 메서드에 대응하는 메서드
Iterator & Listiterator & Enumeration
- 컬렉션에 저장된 요소를 접근하는데 사용
- 인터페이스
- Iterator, Enumeration = 구버전
- Listiterator = Interator의 기능을 향상시킨 것
Iterator
- 컬렉션에 저장된 각요소에 접근하는 기능
- iterator()는 컬렉션 인터페이스에 정의된 메서드
- 컬렉션의 자손은 List, Set에 포함
- iterator()를 호출해서 Iterator를 얻은 다음 반복문(while문을 자주이용)
사용해서 컬렉션 클래스의 요소를 읽는다.
- 단방향 읽기 가능
* List에 없고 ArrayList에만 있는 메서드를 사용 X -> List 참조변수로 선언이 좋다.
>> 하지만 참조변수의 타입을 ArrayList라면 선언문 이후 문장을 검토해야한다!!!
>> List에 정의되지 않은 메서드를 호출햇을 수도 있으니...
* Map인터페이스 구현한 컬렉션 클래스는 key와 value 을 쌍으로 저장하기 있기 때문에
iterator()를 직접 호출 X -> keySet() , entrySet() 을 통해서 key와 value를
따로 Set형태로 얻어 iterator()를 호출해야 Iterator를 얻는다.
** Iterator 메서드
Listiterator & Enumeration
Listiterator
- Iterator를 상속 받는 기능
- Iterator에 양방향 조회기능 추가 ((*조건) 아래문장)
- ArrayList , LinkedList 처럼 List인터페이스를 구현한 컬렉션에서 만!! 사용가능
- Listiterator메서드는 Iterator 이전방향으로 접근기능을 추가한 것
**Listiterator 메서드
Enumeration
- Iterator의 구버전
- Iterator 메서드이름만 다를 뿐 기능은 같다.