Antarmuka Deque di Java: Panduan Lengkap – Codewithaden

Antarmuka Java Deque terkait dengan struktur data yang dikenal sebagai antrian. Ini terutama dikenal sebagai antrian ujung ganda, yang mendukung penambahan atau penghapusan data dari kedua ujungnya. Ini ada dalam paket java.util.

Antarmuka Deque di Java

Antarmuka java deque adalah subtipe dari Antarmuka antrian Java Yang berarti Anda dapat menggunakan java deque seperti antrian jika Anda harus memiliki kebutuhan.

Implementasi Deque

Karena Java Deque adalah antarmuka , Anda perlu instantiate implementasi konkret dari suatu antarmuka untuk menggunakannya.

Anda dapat memilih implementasi deque di Koleksi Java API:

  1. java.util.linkedlist
  2. java.util.arraydeque

Itu LinkedList Kelas adalah implementasi deque dan antrian standar.

Ini menggunakan daftar tertaut secara internal untuk memodelkan antrian atau deque.

Kelas Java Arraydeque menyimpan barang -barangnya secara internal di array.

Jika jumlah elemen melebihi ruang dalam array, array baru dialokasikan, dan semua item dipindahkan.

Dengan kata lain, sebuah arraydeque tumbuh sesuai kebutuhan, bahkan jika ia menyimpan barang -barangnya dalam sebuah array.

Deklarasi Antarmuka Deque

public interface Deque extends Queue 
 

Fitur Deque

  1. Kami dapat menambah dan menghapus data dari kedua sisi antrian.
  2. Akses bersamaan tidak didukung menggunakan beberapa utas.
  3. Deque tidak aman-utas tanpa adanya sinkronisasi eksternal.
  4. Itu tidak memiliki batasan kapasitas.
  5. Array Deque tidak menerima elemen nol.
  6. Array Deque lebih cepat dari daftar tumpukan dan tertaut.

Metode Deque

  1. Tambahkan (elemen): Ini digunakan untuk menambahkan item ke ekor deque.
  2. dan pertama (elemen): Ini digunakan untuk menambahkan elemen ke kepala deque.
  3. addLast (elemen): Ini digunakan untuk menambahkan elemen ke ekor deque.
  4. Penawaran (Elemen): Ini digunakan untuk menambahkan elemen ke belakang dan mengembalikan boolean, yaitu, benar atau salah, jika penyisipan berhasil.
  5. questfirst (elemen): Ini digunakan untuk menambahkan elemen ke kepala dan mengembalikan boolean, yaitu, benar atau salah, jika penyisipan berhasil.
  6. WortelLast (Elemen): Ini digunakan untuk menambahkan elemen ke ekor dan mengembalikan boolean, yaitu, benar atau salah, jika penyisipan berhasil.
  7. iterator (): Ini mengembalikan iterator untuk deque saat ini.
  8. descendentiterator (): Ini mengembalikan iterator yang mengikuti urutan terbalik dari deque yang sesuai.
  9. Push (Elemen): Itu menambahkan elemen ke kepala.
  10. pop (elemen): Ini digunakan untuk menghapus item dari kepala dan kemudian mengembalikannya.
  11. hapusfirst (): Ini digunakan untuk menghapus elemen di kepala.
  12. Removelast (): Ini digunakan untuk menghapus item di ekor.
  13. pemilihan(): Ini mengambil dan menghapus item pertama deque dan mengembalikan nol jika deque itu kosong.
  14. Pollfirst (): Ini mengambil dan menghapus item pertama deque dan mengembalikan nol jika deque itu kosong.
  15. Polllast (): Ini mengambil dan menghilangkan item terakhir dari deque dan mengembalikan nol jika deque itu kosong.
  16. mengintip(): Ini mengambil tetapi tidak menghapus item pertama dari deque ini atau mengembalikan nol jika deque kosong.
  17. peekfirst (): Ini mengambil tetapi tidak menghapus item pertama dari deque ini atau mengembalikan nol jika deque kosong.
  18. peeklast (): Ini mengambil tetapi tidak menghapus item terakhir dari deque ini atau mengembalikan nol jika deque kosong.

Mari kita lihat contoh untuk membersihkan antarmuka Deque di Java.

import java.util.*;

public class DequeExample {
  public static void main(String[] args) {
    Deque deque = new LinkedList();
    deque.add("Element 1 (Tail)");
    deque.addFirst("Element 2 (Head)");
    deque.addLast("Element 3 (Tail)");
    deque.push("Element 4 (Head)");
    deque.offer("Element 5 (Tail)");
    deque.offerFirst("Element 6 (Head)");
    deque.offerLast("Element 7 (Tail)");
    System.out.println(deque + "\n");

    // Making an iterator to traverse queue
    System.out.println("Standard Iterator");
    Iterator iterator = deque.iterator();
    while (iterator.hasNext())
      System.out.println("\t" + iterator.next());

    // Reverse order iterator
    Iterator reverse = deque.descendingIterator();
    System.out.println("Reverse Iterator");
    while (reverse.hasNext())
      System.out.println("\t" + reverse.next());

    System.out.println("Peek " + deque.peek());
    System.out.println("After peek: " + deque);

    System.out.println("Pop " + deque.pop());
    System.out.println("After pop: " + deque);

    System.out.println("Contains element 3: " + deque.contains("Element 3 (Tail)"));
    deque.removeFirst();
    deque.removeLast();
    System.out.println("Deque after removing " + "first and last: " + deque);

  }
} 

Lihat outputnya.

Deque

PENJELASAN

Dalam kode di atas, kami membahas fungsi -fungsi penting dan bagaimana mereka bekerja di Java.

Lihat contoh kode berikut kedua.

import java.util.*;

class Book {
  int id, qty;
  String name, author;

  public Book(int id, String name, String author, int qty) {
    this.id = id;
    this.name = name;
    this.author = author;
    this.qty = qty;
  }
}

public class ArrayDequeExample {
  public static void main(String[] args) {
    Deque set = new ArrayDeque();
    Book b1 = new Book(101, "Java:The Complete Reference", "Herbert Schildt", 8);
    Book b2 = new Book(102, "Data Communications & Networking", "Forouzan", 4);
    Book b3 = new Book(103, "Operating System", "Galvin", 6);
    set.add(b1);
    set.add(b2);
    set.add(b3);
    for (Book b : set) {
      System.out.println(b.id + " " + b.name + " " + b.author + " " + b.quantity);
    }
  }
} 

Keluaran

Java

PENJELASAN

Dalam kode di atas, kami membuat Array Deque, yang menyimpan ID, nama, penulis, dan jumlah buku, dan kemudian kami menampilkan semua informasi buku.

Mengulangi elemen deque

Anda juga dapat mengulangi semua item Java Deque alih -alih hanya memproses item satu per satu.

Anda dapat mengulangi item deque dengan dua cara:

  1. Menggunakan iterator.
  2. Menggunakan loop untuk setiap.

Urutan di mana item diperoleh selama iterasi tergantung pada implementasi deque beton.

Namun, metode untuk mengulangi item adalah sama terlepas dari aplikasi

Mengulangi elemen melalui iterator

Cara pertama mengulangi barang -barang deque adalah dengan mendapatkan iterator dari deque dan mengulangi item melalui itu.

Berikut adalah contoh iterasi item Java Deque melalui iterator.

Deque deque = new LinkedList();

deque.add("element 0");
deque.add("element 1");
deque.add("element 2");

Iterator iterator = deque.iterator();
while(iterator.hasNext(){
  String element = (String) iterator.next();
} 

Mengulangi elemen melalui loop untuk setiap

Cara kedua untuk mengulangi barang-barang deque adalah dengan menggunakan loop for-ete di java.

Berikut adalah contoh iterasi item Java deque melalui loop for-ete.

Deque deque = new LinkedList();

deque.add("element 0");
deque.add("element 1");
deque.add("element 2");

for(Object object : deque) {
    String element = (String) object;
} 

Itu untuk tutorial ini.

Posting yang disarankan

Literal Java

Java Priityqueue

Java Thread Pools

Atur contoh di java

Kelas Kamus di Java

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *