Baris Gilir Terhad Saiz untuk Menyimpan Elemen N Terakhir dalam Java
Artikel ini bertujuan untuk menangani masalah biasa dalam pengaturcaraan Java: menguruskan baris gilir dengan saiz tetap yang secara automatik membuang elemen lama apabila menambah elemen baharu. Walaupun pelaksanaan yang disediakan secara manual dalam soalan itu pasti berdaya maju, perbincangan ini meneroka penyelesaian alternatif daripada perpustakaan Apache Commons Collections.
Koleksi Apache Commons: CircularFifoQueue
Apache Commons Collections menyediakan kelas bernama CircularFifoQueue<> yang memenuhi keperluan baris gilir terhad saiz. Mengikut dokumentasinya:
CircularFifoQueue ialah baris gilir masuk dahulu keluar dahulu dengan saiz tetap yang menggantikan elemen tertuanya jika penuh.
Penggunaan:
Melaksanakan baris gilir terhad saiz dengan CircularFifoQueue<> adalah mudah:
import java.util.Queue; import org.apache.commons.collections4.queue.CircularFifoQueue; Queue<Integer> fifo = new CircularFifoQueue<>(2); fifo.add(1); fifo.add(2); fifo.add(3); System.out.println(fifo); // Output: [2, 3]
Keputusan:
Kod sampel menunjukkan bahawa CircularFifoQueue mengekalkan kapasiti 2, membuang elemen tertua apabila elemen baharu ditambah.
Tambahan Pilihan:
Jika menggunakan versi lama Apache Commons Collections (3.x), anda boleh memilih CircularFifoBuffer, yang fungsinya serupa tetapi tidak mempunyai sokongan generik.
Kesimpulan:
Untuk situasi di mana anda perlu menguruskan baris gilir dengan saiz terhad, Apache Commons Collections menyediakan pelaksanaan yang mudah dan cekap dengan CircularFifoQueue<>. Ini menghapuskan keperluan untuk pelaksanaan manual dan menawarkan faedah tambahan pengendalian pengecualian dan keselamatan benang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Baris Terhad Saiz dengan Cekap di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!