Rumah Java javaTutorial Penjelasan terperinci tentang kaedah gilir Java Queue yang biasa digunakan dan langkah berjaga-jaga

Penjelasan terperinci tentang kaedah gilir Java Queue yang biasa digunakan dan langkah berjaga-jaga

Jan 09, 2024 am 10:45 AM
Pengecualian penunjuk nol peek Kaedah yang biasa digunakan: enqueue dequeue Nota: keselamatan benang

Java Queue队列的常用方法和注意事项

Kaedah dan langkah berjaga-jaga biasa untuk baris gilir Java Queue

Barisan (Barisan) ialah struktur data linear khas, dan operasinya adalah berdasarkan prinsip masuk dahulu, keluar dahulu (FIFO). Java menyediakan antara muka Queue untuk melaksanakan fungsi baris gilir Kelas pelaksanaan biasa termasuk LinkedList dan ArrayDeque.

1. Kaedah yang biasa digunakan

  1. add(): Tambahkan elemen pada penghujung baris gilir. Jika baris gilir penuh, menggunakan kaedah ini akan membuang IllegalStateException.

    Queue<Integer> queue = new LinkedList<>();
    queue.add(1);
    queue.add(2);
    queue.add(3);
    Salin selepas log masuk
  2. offer(): Tambahkan elemen pada penghujung baris gilir. Jika baris gilir penuh, menggunakan kaedah ini akan mengembalikan palsu, menunjukkan bahawa penambahan gagal.

    Queue<Integer> queue = new LinkedList<>();
    queue.offer(1);
    queue.offer(2);
    queue.offer(3);
    Salin selepas log masuk
  3. remove(): Alih keluar dan kembalikan elemen kepala baris gilir. Jika baris gilir kosong, menggunakan kaedah ini akan membuang pengecualian NoSuchElementException.

    Queue<Integer> queue = new LinkedList<>();
    queue.add(1);
    queue.add(2);
    queue.add(3);
    int head = queue.remove();
    Salin selepas log masuk
  4. poll(): Alih keluar dan kembalikan elemen kepala baris gilir. Jika baris gilir kosong, menggunakan kaedah ini akan mengembalikan null.

    Queue<Integer> queue = new LinkedList<>();
    queue.offer(1);
    queue.offer(2);
    queue.offer(3);
    int head = queue.poll();
    Salin selepas log masuk
  5. element(): Mengembalikan elemen kepala baris gilir, tetapi tidak memadamkannya. Jika baris gilir kosong, menggunakan kaedah ini akan membuang pengecualian NoSuchElementException.

    Queue<Integer> queue = new LinkedList<>();
    queue.add(1);
    queue.add(2);
    queue.add(3);
    int head = queue.element();
    Salin selepas log masuk
  6. peek(): Mengembalikan elemen kepala baris gilir, tetapi tidak memadamkannya. Jika baris gilir kosong, menggunakan kaedah ini akan mengembalikan null.

    Queue<Integer> queue = new LinkedList<>();
    queue.offer(1);
    queue.offer(2);
    queue.offer(3);
    int head = queue.peek();
    Salin selepas log masuk

2. Nota

  1. Kelas pelaksanaan baris gilir biasanya tidak selamat jika digunakan dalam persekitaran berbilang benang, pemprosesan penyegerakan tambahan diperlukan.

    Queue<Integer> queue = new LinkedList<>();
    queue = Collections.synchronizedQueue(queue);
    Salin selepas log masuk
  2. Pertimbangkan saiz baris gilir Jika kapasiti terhad, pertimbangan kapasiti dan pemprosesan perlu dilakukan sebelum menambah elemen.

    Queue<Integer> queue = new ArrayDeque<>(10);
    Salin selepas log masuk
  3. Elakkan menggunakan Iterator untuk operasi traversal dan pemadaman Sebaliknya, gunakan kaedah yang disediakan oleh baris gilir.
  4. Apabila anda perlu menggunakan baris gilir keutamaan, anda boleh menggunakan kelas PriorityQueue untuk melaksanakannya.
  5. Baris gilir sangat berguna dalam menyelesaikan masalah masuk dahulu, seperti penjadualan tugas, carian luas-dahulu dan senario lain.

Ringkasan:
Baris gilir Java menyediakan satu siri kaedah untuk melaksanakan operasi masuk dahulu, keluar dahulu termasuk add(), offer(), remove(), poll(), element() dan peek(. ). Apabila menggunakan baris gilir, anda perlu memberi perhatian kepada keselamatan benang, isu kapasiti dan operasi pemadaman traversal. Baris gilir sangat mudah dan praktikal apabila menyelesaikan masalah masuk dahulu keluar, dan sesuai untuk senario seperti penjadualan tugas dan carian luas dahulu.

Atas ialah kandungan terperinci Penjelasan terperinci tentang kaedah gilir Java Queue yang biasa digunakan dan langkah berjaga-jaga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Nota Pembangunan C++: Elakkan Pengecualian Penunjuk Null dalam Kod C++ Nota Pembangunan C++: Elakkan Pengecualian Penunjuk Null dalam Kod C++ Nov 22, 2023 pm 02:38 PM

Dalam pembangunan C++, pengecualian penuding nol ialah ralat biasa, yang sering berlaku apabila penunjuk tidak dimulakan atau terus digunakan selepas dikeluarkan. Pengecualian penuding nol bukan sahaja menyebabkan ranap program, tetapi juga boleh menyebabkan kelemahan keselamatan, jadi perhatian khusus diperlukan. Artikel ini akan menerangkan cara untuk mengelakkan pengecualian penuding nol dalam kod C++. Memulakan pembolehubah penunjuk Penunjuk dalam C++ mesti dimulakan sebelum digunakan. Jika tidak dimulakan, penunjuk akan menunjuk ke alamat memori rawak, yang mungkin menyebabkan Pengecualian Penunjuk Null. Untuk memulakan penuding, arahkannya ke an

Ralat pengendalian dalam Golang: Bagaimana untuk mengendalikan pengecualian penunjuk nol? Ralat pengendalian dalam Golang: Bagaimana untuk mengendalikan pengecualian penunjuk nol? Aug 09, 2023 pm 12:33 PM

Ralat pengendalian dalam Golang: Bagaimana untuk mengendalikan pengecualian penunjuk nol? Apabila pengaturcaraan di Golang, kami sering menghadapi pengecualian penuding nol. Pengecualian penuding nol bermakna apabila kita cuba mengendalikan objek penunjuk nol, ia akan menyebabkan program ranap atau ralat yang tidak dapat diramalkan akan berlaku. Untuk mengelakkan berlakunya pengecualian ini, kita perlu mengendalikan pengecualian penunjuk nol dengan munasabah. Artikel ini akan memperkenalkan beberapa kaedah mengendalikan pengecualian penuding nol dan menggambarkannya dengan contoh kod. 1. Gunakan nol untuk menilai Dalam Golang, nil mewakili penunjuk nol.

Penyelesaian kepada masalah pengecualian penuding nol biasa dalam C++ Penyelesaian kepada masalah pengecualian penuding nol biasa dalam C++ Oct 09, 2023 pm 02:16 PM

Penyelesaian kepada Masalah Pengecualian Penunjuk Null Biasa dalam C++ Pengenalan: Dalam pengaturcaraan C++, pengecualian penuding nol ialah jenis ralat biasa. Pengecualian Penunjuk Null berlaku apabila program cuba mengakses penuding yang menunjuk ke alamat nol. Dalam projek besar, pengecualian penuding nol boleh menyebabkan program ranap atau menghasilkan tingkah laku yang tidak dapat diramalkan. Oleh itu, pembangun perlu mengetahui cara untuk mengelakkan dan mengendalikan pengecualian ini. Artikel ini akan memperkenalkan beberapa masalah pengecualian penuding nol biasa dan memberikan penyelesaian dan contoh kod yang sepadan. Mulakan pembolehubah penunjuk sebelum menggunakannya

Microsoft PowerToys mungkin akan mendapat ciri pratonton fail Peek yang diinspirasikan oleh Mac OS tidak lama lagi Microsoft PowerToys mungkin akan mendapat ciri pratonton fail Peek yang diinspirasikan oleh Mac OS tidak lama lagi Apr 13, 2023 pm 05:34 PM

Set alat PowerToys Microsoft tidak lama lagi boleh menjadi ciri baharu yang mengambil inspirasi daripada ciri pratonton fail Mac OS. Alat itu, yang dipanggil Peek, membolehkan pengguna untuk pratonton berbilang format fail, termasuk dokumen media dan teks, terus dalam File Explorer. Alat prototaip PowerToys bukanlah yang pertama membawa fungsi pratonton fail ke Windows. Kami telah menyemak program percuma Quicklook dan WinQuickLook pada masa lalu, dan mereka melakukan perkara yang sama. Selepas pemasangan, jalankan sahaja

Penjelasan terperinci tentang kaedah gilir Java Queue yang biasa digunakan dan langkah berjaga-jaga Penjelasan terperinci tentang kaedah gilir Java Queue yang biasa digunakan dan langkah berjaga-jaga Jan 09, 2024 am 10:45 AM

Kaedah dan langkah berjaga-jaga biasa untuk JavaQueue Queue Queue (Queue) ialah struktur data linear khas, dan operasinya adalah berdasarkan prinsip first-in, first-out (FIFO). Java menyediakan antara muka Queue untuk melaksanakan fungsi baris gilir Kelas pelaksanaan biasa termasuk LinkedList dan ArrayDeque. 1. Kaedah yang biasa digunakan add(): Tambah elemen pada penghujung baris gilir. Jika baris gilir penuh, menggunakan kaedah ini akan membuang IllegalStateExceptio

Cara biasa untuk mengendalikan pengecualian penuding nol Java Cara biasa untuk mengendalikan pengecualian penuding nol Java Jan 30, 2024 am 10:32 AM

Penyelesaian biasa untuk pengecualian penuding nol Java Dalam proses pembangunan Java, mengendalikan pengecualian penuding nol adalah tugas penting. Pengecualian penuding nol ialah pengecualian yang dilemparkan oleh atur cara apabila ia beroperasi pada objek dengan nilai nol Apabila pengecualian penunjuk nol berlaku dalam atur cara, ia akan menyebabkan atur cara ranap atau menghasilkan keputusan yang tidak dapat diramalkan. Berikut akan memperkenalkan beberapa kaedah biasa untuk menyelesaikan pengecualian penuding nol, serta contoh kod khusus. Menggunakan pertimbangan bersyarat Cara yang paling biasa untuk menyelesaikan pengecualian penuding nol adalah dengan menggunakan pertimbangan bersyarat untuk menentukan sama ada objek itu adalah batal.

Windows 11 akan mendapat ciri Pandangan Pantas yang serupa dengan macOS Windows 11 akan mendapat ciri Pandangan Pantas yang serupa dengan macOS Apr 26, 2023 am 09:10 AM

Seperti anak tetingkap pratonton File Explorer, Pandangan Pantas ialah ciri dalam macOS untuk pratonton fail dengan pantas, seperti foto atau teks. Walaupun anak tetingkap pratonton File Explorer berfungsi seperti azimat selepas kemas kini PowerToys terkini dan menyokong fail lanjutan, orang ramai mendapati Pandangan Pantas macOS lebih menarik kerana ia membenarkan anda hanya menekan bar ruang Pratonton fail. Microsoft kini mempertimbangkan fungsi serupa untuk Windows 11 dan Windows 10. Ciri ini dipanggil "Peek" dan akan tersedia melalui PowerToys. Apabila anda bekerja dengan fail pada Windows 11 dan Windows 10, ia melaksanakan

Menganalisis punca dan penyelesaian pengecualian penuding nol Menganalisis punca dan penyelesaian pengecualian penuding nol Dec 28, 2023 am 11:47 AM

Analisis Punca dan Penyelesaian Pengecualian Penunjuk Null Pengenalan: Semasa proses pembangunan program, kita sering menghadapi pengecualian biasa-Pengecualian Penunjuk Null. Apabila kita mengakses sifat objek nol atau memanggil kaedah objek nol, pengecualian penuding nol dilemparkan. Artikel ini akan menganalisis punca pengecualian penuding nol, menyediakan penyelesaian yang sepadan dan memberikan contoh kod khusus. 1. Punca Pengecualian Penunjuk Null 1.1 Objek tidak dibuat seketika Apabila kita beroperasi pada objek yang tidak diinisialisasi, Pengecualian Penunjuk Null akan dilemparkan. Sebagai contoh, coretan kod berikut:

See all articles