2010-08-19 1 views
0

큐의 커스텀 구현을 올바르게하고 싶다면 내가 원하는 순서 (FIFO가 아님)를 선택할 수 있다고 말하지만, 항상 은 제거 할 요소가 "머리"?콜렉션 큐

삽입 작업을 위해 필자는 요소를 FIFO와 같이 꼬리에 넣지 않아도됩니까?

답변

3

정확합니다. javadoc은 다음과 같이 명확하게 명시합니다.

일반적으로 대기열은 FIFO (선입 선출) 방식으로 요소를 정렬합니다. 예외로는 제공된 비교 자나 요소의 자연 순서에 따라 요소를 정렬하는 우선 순위 대기열과 요소 LIFO (선입 선출)를 순서화하는 LIFO 대기열 (또는 스택)이 있습니다. 순서가 무엇이든 관계없이 큐의 헤드는 remove() 또는 poll() 호출에 의해 제거되는 요소입니다. FIFO 대기열에서 모든 새 요소는 대기열의 끝에 삽입됩니다. 다른 종류의 대기열은 다른 배치 규칙을 사용할 수 있습니다. 모든 Queue 구현은 순서 지정 등록 정보를 지정해야합니다.

1

정확합니다.

Queue documentation도 상태이 명시 적으로 (강조 광산) :

큐 일반적으로 , 반드시 그 필요는 없습니다 만하는 FIFO (선입 선출) 방식으로 위해 요소. [...] 순서가 무엇이든, 대기열의 머리 부분은 remove() 또는 poll()을 호출하여 제거 될 요소입니다.