Skip to main content

Java Deque

Interface Deque singkatan dari double ended queue, artinya queue yang bisa beroperasi dari depan atau belakang Jika pada queue, operasi yang didukung ada FIFO, namu pada deque, tidak hanya FIFO, naun juga mendukung LIFO (Last In First Out) Bisa dibilang deque adalah implementasi struktur data antrian dan stack (tumpukan).

Contoh:

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.LinkedList;

public class DemoDeque {

public static void main(String[] args) {

Deque<String> cities = new LinkedList<String>();

// memasukan data ke dalam tumpukan/stack dari atas ke bawah
cities.offerFirst("Surabaya");
cities.offerFirst("Mataram");
cities.offerFirst("Solo");
cities.offerFirst("Bandung");

for(var c : cities) {
System.out.println(c);
}

System.out.println();
System.out.println("Melakukan Pool dan menghapusnya");

// melakukan pool sekaligus menghapus stack dari bawah
for(String city = cities.pollLast(); city != null; city = cities.pollLast()) {
System.out.println(city);
}

System.out.println(cities.size());
}
}

Output:

Bandung
Solo
Mataram
Surabaya

Melakukan Pool dan menghapusnya
Surabaya
Mataram
Solo
Bandung
0