Je suis en train d'utiliser un PriorityQueue et je suppose que les éléments sont ajoutés dans le « ordre naturel » ..Java ordre naturel
imprimer les Quand je éléments ne est pas dans order..I triés s'attendraient le résultat - 1,2,3,4
package scratch;
import java.util.*;
public class test {
public static void main(String[] args) {
PriorityQueue<String> pq = new PriorityQueue<String>();
pq.add("2");
pq.add("4");
System.out.println(pq.peek()+" ");
pq.offer("1");
pq.add("3");
System.out.println(pq);
/*System.out.println(pq.poll() + " ");
System.out.println(pq);*/
}
}
sortie:
2 [1, 3, 2, 4]
'Cette classe et son iterator mettre en œuvre toutes les méthodes optionnelles des interfaces Collection et Iterator. L'Iterator fourni dans la méthode iterator() n'est pas garanti pour traverser les éléments de la file d'attente prioritaire dans un ordre particulier. Si vous avez besoin d'une traversée ordonnée, pensez à utiliser Arrays.sort (pq.toArray()).' – nachokk
Copie possible de [L'itérateur intégré pour PriorityQueue de java ne traverse pas la structure de données dans un ordre particulier. Pourquoi?] (Http://stackoverflow.com/questions/2277430/the-built-in-iterator-for-javas-priorityqueue-does-not-traverse-the-data-struct) – Raedwald