English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spiegazione dettagliata e esempio di Stack nella raccolta Java 8

java  collections di Stack

Sintesi:

Stack è una pila, le sue caratteristiche sono in entrata per primo, in uscita per ultimo (FILO, First In Last Out). Stack eredita da Vector (coda vettoriale), poiché Vector è implementato con array, Stack utilizza anche array invece che lista.

La relazione tra Stack e Collection è la seguente:

Codice sorgente basato su Java8:

public class Stack<E> extends Vector<E> {
  public Stack() { //Crea uno stack vuoto
  }
  public E push(E item) { //Inserisce l'elemento nello stack
    addElement(item);
    return item;
  }
  //Svuota lo stack
  public synchronized E pop() {
    E obj;
    int len = size();
    obj = peek();
    removeElementAt(len - 1);
    return obj;
  }
  //Restituisce l'elemento in cima allo stack senza rimuoverlo
  public synchronized E peek() {
    int len = size();
    if (len == 0)
      throw new EmptyStackException();
    return elementAt(len - 1);
  }
  //Verifica se lo stack è vuoto
  public boolean empty() {
    return size() == 0;
  }
  //Ricerca dell'elemento e restituzione della profondità dello stack
  public synchronized int search(Object o) {
    int i = lastIndexOf(o);
    if (i >= 0) {
      return size() - i;
    }
    return -1;
  }
  //Numero di versione della serializzazione
  private static final long serialVersionUID = 1224463164541339165L;
}

Grazie per aver letto, spero di essere stato d'aiuto, grazie per il supporto al nostro sito!

Ti potrebbe interessare