Blog
Skip to end of metadata
Go to start of metadata

A Java 6 nyelvi elemekben nem hozott akkora ugrást, mint a Java 5, de jelentősen bővült a felhasználható eszközök száma, sok új osztály került a java.util csomagba, ilyen a Deque osztály is, amelynek a neve "Double Ended QUEue" kifejezésből származik. Ez azt jelenti, hogy a Deque példányt használhatjuk queue és stack üzemmódban is. Csapjunk a közepébe, és nézzük az alábbi programot:

DequeTest.java
import java.util.ArrayDeque;
import java.util.Deque;

public class DequeTest
{
  public static void main(String [] args)
  {
    Deque deque = new ArrayDeque();
    deque.add("Első");
    deque.add("Második");
    deque.add("Középső");
    deque.add("Utolsó előtti");
    deque.add("Utolsó");
    System.out.println(deque.toString());
   
    /**
     * Kiolvassuk az elemet, de nem vesszük ki
     */
    System.out.println(deque.peekFirst());
    System.out.println(deque.peekLast());
       
    /**
     * Kiolvassuk az elemet, és el is távolítjuk
     */
    System.out.println(deque.pollFirst());
    System.out.println(deque.pollLast());
   
    /**
     * Visszatesszük a kivett elemeket
     */
    deque.push("Első");
    deque.add("Utolsó");   
    System.out.println(deque.toString());
  }
}

Ahogy a programból látszik: egyszerűen hozzá tudunk adni elemeket a listához, amelynek elejéről és végéről is közel azonos módon tudunk elemeket kiolvasni, kivenni illetve beletenni. A program kimenete:

[Első, Második, Középső, Utolsó előtti, Utolsó]
Első
Utolsó
Első
Utolsó
[Első, Második, Középső, Utolsó előtti, Utolsó]

Az osztály több metódussal is rendelkezik a fentieken kívül, amelyek alapvetően rövidebb nevet jelentenek a gyakran használt műveletekhez, másrészt pedig a metódusok egy csoportjánál NoSuchElementException váltódik ki, ha üres a lista.

      
      
Page viewed times