Szukaj…


Wprowadzenie

Deque to kolekcja liniowa, która obsługuje wstawianie i usuwanie elementów na obu końcach.

Nazwa deque jest skrótem od „podwójnie zakończonej kolejki” i jest zwykle wymawiana jako „talia”.

Większość implementacji Deque nie nakłada stałych limitów na liczbę elementów, które mogą zawierać, ale ten interfejs obsługuje deques o ograniczonej pojemności, a także te, które nie mają ustalonego limitu wielkości.

Interfejs Deque jest bogatszym abstrakcyjnym typem danych niż zarówno stos, jak i kolejka, ponieważ implementuje zarówno stosy, jak i kolejki w tym samym czasie

Uwagi

Z Deque można używać ogólnych.

Deque<Object> deque = new LinkedList<Object>();

Gdy deque jest używane jako kolejka, powstaje zachowanie FIFO (First-In-First-Out).

Deques mogą być również używane jako stosy LIFO (Last-First-First-Out).

Aby uzyskać więcej informacji na temat metod, zapoznaj się z dokumentacją.

Dodawanie elementów do Deque

Deque deque = new LinkedList();

//Adding element at tail
deque.add("Item1");

//Adding element at head 
deque.addFirst("Item2");

//Adding element at tail 
deque.addLast("Item3");

Usuwanie elementów z Deque

//Retrieves and removes the head of the queue represented by this deque
Object headItem = deque.remove();

//Retrieves and removes the first element of this deque.
Object firstItem = deque.removeFirst();

//Retrieves and removes the last element of this deque.
Object lastItem = deque.removeLast();

Pobieranie elementu bez usuwania

//Retrieves, but does not remove, the head of the queue represented by this deque
Object headItem = deque.element();

//Retrieves, but does not remove, the first element of this deque.
Object firstItem = deque.getFirst();

//Retrieves, but does not remove, the last element of this deque.    
Object lastItem  = deque.getLast();

Iterowanie przez Deque

//Using Iterator
Iterator iterator = deque.iterator();
while(iterator.hasNext(){
  String Item = (String) iterator.next();
}

//Using For Loop
for(Object object : deque) {
    String Item = (String) object;
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow