Barisan dua hujung (Deque) ialah struktur data yang agak kompleks dengan ciri baris gilir dan tindanan. Ia menyokong semua operasi baris gilir dan tindanan, dan boleh menambah atau memadam elemen di kepala dan ekor baris gilir. Di Java, Deque ialah antara muka, yang mempunyai dua kelas pelaksanaan: ArrayDeque dan LinkedList.
Artikel ini akan memperkenalkan cara menggunakan fungsi Deque dalam Java untuk melaksanakan operasi baris gilir dua hujung, termasuk mencipta Deque, menambah elemen, mengalih keluar elemen, operasi kepala dan ekor, dsb.
1. Cipta Deque
Untuk mencipta objek Deque dalam Java, anda boleh menggunakan kelas pelaksanaan ArrayDeque atau LinkedList. Jika bilangan elemen diketahui dan keperluan prestasi adalah tinggi, lebih baik menggunakan ArrayDeque jika bilangan elemen tidak pasti, atau elemen perlu kerap dimasukkan atau dipadamkan di tengah, lebih baik menggunakan LinkedList.
Berikut ialah kod untuk mencipta objek Deque bernama deque:
Deque<String> deque = new ArrayDeque<String>(); // 使用ArrayDeque实现类创建 Deque<Integer> deque = new LinkedList<Integer>(); // 使用LinkedList实现类创建
2. Tambah elemen
Menambah elemen ialah salah satu operasi asas baris gilir dua hujung. Dalam Deque, elemen boleh ditambah pada kepala atau ekor baris gilir. Gunakan kaedah addFirst() dan addLast() masing-masing untuk menambah.
Gunakan addFirst() untuk menambah elemen:
deque.addFirst("element");
Gunakan addLast() untuk menambah elemen:
deque.addLast("element");
Jika deque penuh semasa proses penambahan, addFirst() akan membuang IllegalStateException.
3. Alih keluar elemen
Mengalih keluar elemen juga merupakan salah satu operasi asas barisan dua hujung. Dalam Deque, anda juga boleh mengalih keluar elemen dari kepala atau ekor baris gilir. Gunakan kaedah removeFirst() dan removeLast() masing-masing untuk mengalih keluar.
Gunakan removeFirst() untuk mengalih keluar elemen:
String element = deque.removeFirst();
Gunakan removeLast() untuk mengalih keluar elemen:
String element = deque.removeLast();
Jika baris gilir kosong, memanggil kaedah di atas akan membuang pengecualian NoSuchElementException.
4. Tentukan elemen
Kadangkala kita perlu menentukan sama ada Deque mengandungi elemen tertentu atau apakah elemen pertama dan terakhir. Pada masa ini, anda boleh menggunakan element(), peek() dan kaedah lain.
Gunakan elemen() untuk mendapatkan elemen pertama pasukan:
String firstElement = deque.element(); // 队首元素
Gunakan peek() untuk mendapatkan elemen pertama pasukan:
String firstElement = deque.peek(); // 队首元素
Jika baris gilir kosong, memanggil kaedah di atas akan mengeluarkan pengecualian NoSuchElementException.
Gunakan peekFirst() untuk mendapatkan elemen pertama pasukan:
String firstElement = deque.peekFirst(); // 队首元素
Gunakan peekLast() untuk mendapatkan elemen terakhir pasukan:
String lastElement = deque.peekLast(); // 队尾元素
5. Melintasi elemen
Apabila melintasi elemen dalam Deque, anda boleh menggunakan ekspresi Iterator, foreach atau lambda.
Traverse menggunakan Iterator:
Iterator<String> iterator = deque.iterator(); // 获取Iterator对象 while (iterator.hasNext()) { // 依次输出元素 System.out.println(iterator.next()); }
Traverse menggunakan foreach:
for (String element : deque) { // 依次输出元素 System.out.println(element); }
Traverse menggunakan ungkapan lambda:
deque.forEach(element -> System.out.println(element)); // 依次输出元素
Summary
Deque ialah antara muka baris gilir dua hujung di Java, yang menyediakan semua operasi tindanan, dan baris gilir digunakan dalam Elemen ditambah atau dipadamkan di kepala baris gilir, dan elemen boleh ditambah atau dipadamkan di bahagian ekor baris gilir. Di Java, Deque mempunyai dua kelas pelaksanaan: ArrayDeque dan LinkedList, yang digunakan dalam senario yang berbeza.
Artikel ini memperkenalkan cara menggunakan fungsi Deque dalam Java untuk melaksanakan operasi baris gilir dua hujung, termasuk mencipta Deque, menambah elemen, mengalih keluar elemen, operasi kepala dan ekor serta elemen melintasi. Didedikasikan untuk menyediakan bantuan kepada pemula Java, lebih banyak artikel ada di tapak ini!
Atas ialah kandungan terperinci Cara menggunakan fungsi Deque dalam Java untuk operasi deque. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!