English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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; }
ご読阅ありがとうございます、皆様のサポートに感謝します!