Giriş
Bu sınıfı kullanmak için şu satırı dahil etmek gerekir.
constructor
Nesnenin Comparable arayüzünü gerçekleştirmesi gerekir.
Bu sınıfı kullanmak için şu satırı dahil etmek gerekir.
import java.util.PriorityQueue;
Bu sınıf priority heap kullandığı için tüm değerler sıralı değildir.
Nesnenin Comparable arayüzünü gerçekleştirmesi gerekir.
Örnek
Şöyle yaparız..
constructor - Comparator
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
poll metodu
İlk elemanı alır. Kuyruk boş ise null döner. Şöyle yaparız.
size metodu
Şöyle yaparız.
Nesne priority heap kullandığı için değerleri sıralı vermez. Açıklaması şöyle
PriorityQueue<Integer> prq = new PriorityQueue<Integer>();
Örnek
Şöyle yaparız
PriorityQueue<Foo> pq = IntStream.rangeClosed(0, r.nextInt(10)).mapToObj(i -> new Foo(Integer.toString(i))).collect(PriorityQueue::new,PriorityQueue::offer,AbstractQueue::addAll);
Şöyle yaparız.
new PriorityQueue(new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return 0;
}
});
constructor - capacity + ComparatorŞöyle yaparız.
int n = ...,
PriorityQueue<String> q = new PriorityQueue<String>(n, new Comparator<String>() {
public int compare(String s1, String s2) {
return ...;
}
});
add metoduŞöyle yaparız.
for ( int i = 10; i > 0; i-- ){
prq.add (i);
}
contains metoduŞöyle yaparız.
int i= 30;
if(q.contains(i)) {...}
iterator metodu
Açıklaması şöyle
The Iterator provided in method iterator() is not guaranteed to traverse the elements of the priority queue in any particular order. If you need ordered traversal, consider using Arrays.sort(pq.toArray()).
offer metodu
add ile aynı. Şöyle yaparız.int i = 30;
q.offer(i);
peek metodu
İlk elemanı kuyruktan silmeden döner.
İlk elemanı alır. Kuyruk boş ise null döner. Şöyle yaparız.
Integer i = q.poll();
remove metodu
Şöyle yaparız
while (!pq.isEmpty())
System.out.println(pq.remove());
Şöyle yaparız.
int n = ...;
if (topN.size() < n) {...}
toString metoduNesne priority heap kullandığı için değerleri sıralı vermez. Açıklaması şöyle
PriorityQueue only returns the lowest element from its head. It doesn't sort all the elements, so if you traverse the queue with pq.toString(), elements may not appear in order. This happens because, internally, PriorityQueue.toString() uses the PriorityQueue.iterator() method ...
Hiç yorum yok:
Yorum Gönder