Penjelasan antrian dalam API:
Antrian Publik Antrian <E> Memperluas Koleksi <E>
Koleksi yang digunakan untuk melestarikan elemen sebelum memproses elemen. Selain operasi pengumpulan dasar, antrian ini juga menyediakan operasi penyisipan, ekstraksi, dan inspeksi lainnya. Ada dua bentuk dari masing -masing metode: satu melemparkan kelainan (ketika operasi gagal), dan yang lainnya mengembalikan nilai khusus (nol atau false, tergantung pada operasi). Bentuk terakhir dari operasi insert dirancang untuk antrian, yang berspesialisasi dalam pembatasan kapasitas;
Antrian biasanya (tetapi tidak harus) untuk mengurutkan setiap elemen dalam bentuk FIFO (canggih pertama). Namun, antrian prioritas dan pengecualian antrian LIFO (atau tumpukan), yang sebelumnya mengurutkan elemen berdasarkan urutan alami pembanding atau elemen, dan yang terakhir mengurutkan elemen sesuai dengan LIFO (follow -up pertama). Terlepas dari metode penyortiran mana yang digunakan, kepala antrian adalah elemen yang dihapus dengan memanggil () atau polling (). Dalam antrian FIFO, semua elemen baru dimasukkan ke akhir antrian. Jenis antrian lainnya dapat menggunakan aturan penempatan elemen yang berbeda. Setiap implementasi antrian harus menentukan atribut pesanannya.
Jika memungkinkan, metode penawaran dapat dimasukkan ke dalam elemen, jika tidak maka akan mengembalikan false. Ini berbeda dari Metode Collection.ADD. Desain metode penawaran digunakan untuk kegagalan normal, bukan situasi abnormal, seperti dalam antrian tetap (batas).
Hapus () dan polling () metode dapat dilepas dan dikembalikan ke kepala antrian. Pada akhirnya, elemen mana yang dihapus dari antrian adalah fungsi dari strategi penyortiran antrian, dan strategi ini berbeda dalam berbagai implementasi. Metode lepas () dan polling () hanya berbeda saat antrian kosong: lepas () Metode melempar pengecualian, dan metode polling () mengembalikan nol.
Elemen () dan mengintip () kembali, tetapi tidak dihapus, kepala antrian.
Antarmuka antrian tidak menentukan metode memblokir antrian, dan ini sangat umum dalam pemrograman bersamaan. Antarmuka BlockingQueue mendefinisikan metode ruang yang tersedia dalam tampilan elemen tunggu atau menunggu antrian, yang memperluas antarmuka ini.
Implementasi antrian biasanya tidak diizinkan untuk memasukkan elemen nol, meskipun beberapa implementasi (seperti LinkedList) tidak dapat dilarang memasukkan nol. Bahkan dalam implementasi nol, nol tidak boleh dimasukkan ke dalam antrian, karena nol juga digunakan sebagai nilai pengembalian khusus untuk metode jajak pendapat, menunjukkan bahwa antrian tidak mengandung elemen.
Antrian mengimplementasikan Versi Berbasis Elemen dari Equals dan HashCode Metode, tetapi mewarisi versi berbasis identitas dari kelas objek, karena untuk antrian dengan elemen yang sama tetapi atribut penyortiran yang berbeda, sifat elemen yang sama tidak selalu merupakan sifat yang sama .
Gunakan antrian di java untuk disimulasikan dengan koleksi LinkedList
Metode Menggunakan Pengumpulan LinkedList dan menggunakan operasi antrian simulasi kolektif API
Antre
void addlast (e e); // masukkan elemen ke akhir daftar ini
Antre
E hapusfirst (); // hapus dan kembalikan elemen pertama dari daftar
Menjadi kosong
boolean isempty (); // tentukan apakah antriannya kosong
Misalnya kode
Paket CoreJavaone; Public void enqueue (data int) {this.queue.addlast (data);} public int dequeue () melempar nocomentException {return this.queue.remove first ();} public static void main (string [] args) {simulatingqueue q = SimulatingQueue (); println (data);}}}