PriorityBlockingQueue Kelas

Definisi

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

[Android.Runtime.Register("java/util/concurrent/PriorityBlockingQueue", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class PriorityBlockingQueue : Java.Util.AbstractQueue, IDisposable, Java.IO.ISerializable, Java.Util.Concurrent.IBlockingQueue
[<Android.Runtime.Register("java/util/concurrent/PriorityBlockingQueue", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type PriorityBlockingQueue = class
    inherit AbstractQueue
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IBlockingQueue
    interface IQueue
    interface ICollection
    interface IIterable
Warisan
Atribut
Penerapan

Keterangan

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran. Meskipun antrean ini secara logis tidak terbatas, penambahan yang dicoba mungkin gagal karena kelelahan sumber daya (menyebabkan OutOfMemoryError). Kelas ini tidak mengizinkan null elemen. Antrean prioritas yang mengandalkan pemesanan alami yang Sebanding juga tidak mengizinkan penyisipan objek yang tidak sebanding (melakukannya menghasilkan ClassCastException).

Kelas ini dan iteratornya mengimplementasikan semua <>metode opsional</em> dari Collection antarmuka dan Iterator . Iterator yang disediakan dalam metode #iterator() dan Spliterator yang disediakan dalam metode #spliterator() adalah <mereka>tidak</em> dijamin untuk melintasi elemen PriorityBlockingQueue dalam urutan tertentu. Jika Anda memerlukan traversal yang dipesan, pertimbangkan untuk menggunakan Arrays.sort(pq.toArray()). Selain itu, metode drainTo dapat digunakan untuk <menghapus></em> beberapa atau semua elemen dalam urutan prioritas dan menempatkannya di koleksi lain.

Operasi pada kelas ini tidak menjamin tentang pengurutan elemen dengan prioritas yang sama. Jika Anda perlu menerapkan pengurutan, Anda dapat menentukan kelas kustom atau komparator yang menggunakan kunci sekunder untuk memutuskan ikatan dalam nilai prioritas utama. Misalnya, berikut adalah kelas yang menerapkan tie-breaking first-in-first-out ke elemen yang sebanding. Untuk menggunakannya, Anda akan menyisipkan new FIFOEntry(anEntry) alih-alih objek entri biasa.

{@code
            class FIFOEntry<E extends Comparable<? super E>>
                implements Comparable<FIFOEntry<E>> {
              static final AtomicLong seq = new AtomicLong();
              final long seqNum;
              final E entry;
              public FIFOEntry(E entry) {
                seqNum = seq.getAndIncrement();
                this.entry = entry;
              }
              public E getEntry() { return entry; }
              public int compareTo(FIFOEntry<E> other) {
                int res = entry.compareTo(other.entry);
                if (res == 0 && other.entry != this.entry)
                  res = (seqNum < other.seqNum ? -1 : 1);
                return res;
              }
            }}

Kelas ini adalah anggota Java Collections Framework.

Ditambahkan dalam 1.5.

Java dokumentasi untuk java.util.concurrent.PriorityBlockingQueue.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Konstruktor

Nama Deskripsi
PriorityBlockingQueue()

PriorityBlockingQueue Membuat dengan kapasitas awal default (11) yang mengurutkan elemennya sesuai dengan urutan alami yang Sebanding.

PriorityBlockingQueue(ICollection)

Membuat yang PriorityBlockingQueue berisi elemen dalam koleksi yang ditentukan.

PriorityBlockingQueue(Int32, IComparator)

PriorityBlockingQueue Membuat dengan kapasitas awal yang ditentukan yang mengurutkan elemennya sesuai dengan komparator yang ditentukan.

PriorityBlockingQueue(Int32)

PriorityBlockingQueue Membuat dengan kapasitas awal yang ditentukan yang mengurutkan elemennya sesuai dengan urutan alami yang Sebanding.

PriorityBlockingQueue(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

Properti

Nama Deskripsi
Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
IsEmpty

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
JniIdentityHashCode

Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop.

(Diperoleh dari Object)
JniManagedPeerState

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
JniPeerMembers

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Metode

Nama Deskripsi
Add(Object)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
AddAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
Clear()

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
Comparator()

Mengembalikan komparator yang digunakan untuk mengurutkan elemen dalam antrean ini, atau null jika antrean ini menggunakan urutan alami yang sebanding dari elemennya.

Construct(JniObjectReference, JniObjectReferenceOptions)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
Contains(Object)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
ContainsAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
Dispose()

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
Dispose(Boolean)

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
DisposeUnlessReferenced()

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
DrainTo(ICollection, Int32)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

DrainTo(ICollection)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

Element()

Mengambil, tetapi tidak menghapus, kepala antrean ini.

(Diperoleh dari AbstractQueue)
Equals(Object)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
ForEach(IConsumer)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
Iterator()

Mengembalikan iterator atas elemen dalam antrean ini.

JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
Offer(Object, Int64, TimeUnit)

Sisipkan elemen yang ditentukan ke dalam antrean prioritas ini.

Offer(Object)

Sisipkan elemen yang ditentukan ke dalam antrean prioritas ini.

Peek()

Mengambil, tetapi tidak menghapus, kepala antrean ini, atau mengembalikan null jika antrean ini kosong.

Poll()

Mengambil dan menghapus kepala antrean ini, atau mengembalikan null jika antrean ini kosong.

Poll(Int64, TimeUnit)

Mengambil dan menghapus kepala antrean ini, menunggu hingga waktu tunggu yang ditentukan jika perlu elemen tersedia.

Put(Object)

Sisipkan elemen yang ditentukan ke dalam antrean prioritas ini.

RemainingCapacity()

Selalu mengembalikan Integer.MAX_VALUE karena PriorityBlockingQueue kapasitas tidak dibatasi.

Remove()

Mengambil dan menghapus kepala antrean ini.

(Diperoleh dari AbstractQueue)
Remove(Object)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
RemoveAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
RemoveIf(IPredicate)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

RetainAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
Size()

Mengembalikan hitungan berapa banyak objek yang dikandung ini Collection .

Spliterator()

Mengembalikan Spliterator lebih dari elemen dalam antrean ini.

Take()

Mengambil dan menghapus kepala antrean ini, menunggu jika perlu sampai elemen tersedia.

ToArray()

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
ToArray(Object[])

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

Membatalkan pendaftaran peer Java ini dari runtime interop.

(Diperoleh dari Object)
Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IJavaPeerable.Disposed()

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

OfferAsync(IBlockingQueue, Object, Int64, TimeUnit)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

OfferAsync(IBlockingQueue, Object)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

PollAsync(IBlockingQueue, Int64, TimeUnit)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

PutAsync(IBlockingQueue, Object)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

TakeAsync(IBlockingQueue)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

ToEnumerable(IIterable)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

ToEnumerable<T>(IIterable)

Antrean pemblokiran Antrean Pemblokiran yang tidak terbatas yang menggunakan aturan pemesanan yang sama dengan kelas PriorityQueue dan menyediakan operasi pengambilan pemblokiran.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk