mi chiedevo in coda di priorità Java, c'è una funzione membro che restituisce il valore specificato (min o max a seconda della struttura della coda di priorità) senza rimuoverlo?
remove()
rimuove questo elemento.
l'esempio seguente illustra la mia domanda.
public static void main(String[] args){ PriorityQueue<Integer> que = new PriorityQueue<Integer>(); que.offer(3); que.offer(1); que.offer(2); System.out.println(que.remove()); System.out.println(que.remove()); System.out.println(que.remove()); //Instead of removing them directly, I would //like to see whether the min numbers are greater than, say 2. //If so, remove them in increment order. }
En title : Member function in java priority queue returning but not removing the specified value?
utilizzando il metodo
peek
è possibile controllare il valore dell'elemento in testa alla coda senza rimuoverlo.http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html#peek ()
sbirciare ()
si prega di fare riferimento qui per la spiegazione più dettagliata: StackOverflow