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

java8 コレクションのStackの詳細な説明および例

java  集合のStack

概要:

Stackはスタックであり、特性は先入後出(FILO、First In Last Out)です。StackはVector(ベクタークエueue)を継承しており、Vectorは配列で実現されているため、Stackも配列を通じてリストではなく実現されています。

StackとCollectionの関係は以下の通りです:

Javaで作成8のソースコード:

public class Stack<E> extends Vector<E> {
  public Stack() {//空のスタックを作成します
  }
  public E push(E item) {//スタックに挿入します
    addElement(item);
    return item;
  }
  //スタックから出します
  public synchronized E pop() {
    E obj;
    int len = size();
    obj = peek();
    removeElementAt(len - 1);
    return obj;
  }
  //スタックのトップ要素を返しますが、スタックからは出しません
  public synchronized E peek() {
    int len = size();
    if (len == 0)
      throw new EmptyStackException();
    return elementAt(len - 1);
  }
  //スタックが空かどうかを判断します
  public boolean empty() {
    return size() == 0;
  }
  //要素を検索し、スタックの深さを返します
  public synchronized int search(Object o) {
    int i = lastIndexOf(o);
    if (i >= 0) {
      return size(); - i;
    }
    return -1;
  }
  //シリアルバージョン番号
  private static final long serialVersionUID = 1224463164541339165L;
}

ご読阅ありがとうございます、皆様のサポートに感謝します!

基本チュートリアル
おすすめ