Blog
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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:
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
  • No labels
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))