Rumah  >  Artikel  >  Java  >  Cara melaksanakan operasi deque menggunakan fungsi addFirst dan addLast Deque dalam Java

Cara melaksanakan operasi deque menggunakan fungsi addFirst dan addLast Deque dalam Java

WBOY
WBOYasal
2023-06-26 19:06:011249semak imbas

Baris gilir dua hujung ialah struktur data yang membenarkan elemen ditambah dan dialih keluar daripada kedua-dua hujung baris gilir. Di Java, antara muka Deque menyediakan pelaksanaan struktur data ini. Deque ialah antara muka yang mempunyai pelbagai pelaksanaan, termasuk ArrayDeque dan LinkedList. Dalam artikel ini, kami akan meneroka cara melaksanakan operasi deque menggunakan fungsi addFirst dan addLast Deque dalam Java.

Pertama, kita perlu memahami operasi asas Deque. Antara muka Deque mentakrifkan banyak kaedah, termasuk menambah elemen, memadamkan elemen, mendapatkan elemen kepala dan ekor, dsb. Antaranya, fungsi addFirst dan addLast ialah fungsi yang digunakan untuk menambah elemen pada kedua-dua hujung baris gilir.

fungsi addFirst digunakan untuk menambah elemen pada kepala baris gilir. Sebagai contoh, kita boleh mencipta objek Deque baharu dan menambah elemen pada kepala baris gilir menggunakan fungsi addFirst:

Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(1);
deque.addFirst(2);
deque.addFirst(3);

System.out.println(deque); //[3, 2, 1]

Dalam kod di atas, kami mencipta objek ArrayDeque baharu dan menambah tiga elemen pada kepala baris gilir menggunakan fungsi addFirst. Akhirnya, kami mencetak keseluruhan baris gilir dan hasilnya ialah [3, 2, 1]. Seperti yang anda lihat, unsur-unsur disusun dari kepala mengikut susunan ia ditambah.

fungsi addLast digunakan untuk menambah elemen pada penghujung baris gilir. Sebagai contoh, kita boleh terus menggunakan objek Deque di atas dan menggunakan fungsi addLast untuk menambah elemen pada penghujung baris gilir:

deque.addLast(4);
deque.addLast(5);
deque.addLast(6);

System.out.println(deque); //[3, 2, 1, 4, 5, 6]

Dalam kod di atas, kita menggunakan fungsi addLast untuk menambah tiga elemen integer pada penghujung beratur. Akhirnya, kami mencetak keseluruhan baris gilir sekali lagi dan hasilnya ialah [3, 2, 1, 4, 5, 6]. Seperti yang anda lihat, elemen yang baru ditambah disusun pada penghujung baris gilir mengikut urutan.

Selain menggunakan fungsi addFirst dan addLast untuk operasi penambahan, Deque juga menyediakan fungsi lain untuk memadam elemen, mendapatkan elemen kepala dan ekor, dan operasi lain. Contohnya, fungsi removeFirst dan removeLast masing-masing boleh mengeluarkan elemen dari kepala dan ekor. Fungsi getFirst dan getLast masing-masing boleh mendapatkan elemen kepala dan ekor. Jika baris gilir kosong, fungsi ini akan membuang NoSuchElementException.

Apabila menggunakan Deque, anda perlu memberi perhatian kepada beberapa isu. Pertama, oleh kerana Deque ialah antara muka, ia tidak boleh dibuat secara langsung. Oleh itu, anda perlu memilih kelas pelaksanaan mengikut keperluan khusus, seperti ArrayDeque atau LinkedList. Kedua, Deque adalah benang-tidak selamat. Jika menggunakan Deque dalam persekitaran berbilang benang, langkah perlu diambil untuk mengelakkan keadaan perlumbaan dan kebuntuan. Akhir sekali, apabila menggunakan Deque untuk operasi tambah dan padam, anda perlu mempertimbangkan sama ada baris gilir penuh atau kosong untuk mengelakkan pengecualian dan hasil yang salah.

Ringkasnya, Deque di Java menyediakan struktur data baris gilir dua hujung yang mudah. Gunakan fungsi addFirst dan addLast Deque untuk menambah elemen dengan mudah pada kedua-dua hujung baris gilir. Apabila menggunakan Deque, anda juga perlu memberi perhatian kepada isu seperti keselamatan benang dan pengendalian pengecualian. Dengan menguasai operasi asas ini, anda boleh menggunakan Deque dengan lebih baik untuk melaksanakan baris gilir dua hujung.

Atas ialah kandungan terperinci Cara melaksanakan operasi deque menggunakan fungsi addFirst dan addLast Deque dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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