Maison >Java >javaDidacticiel >Analyse du code graphique de la pile de collection Java
Stack est une pile et sa fonctionnalité est FILO (First In Last Out). Stack est hérité de Vector (Vector Queue ). Puisque Vector est implémenté avec Array , Stack est également implémenté via des tableaux au lieu de listes chaînées.
La relation entre Stack et Collection est la suivante :
Code source basé sur Java8 :
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; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!