創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供龍山網(wǎng)站建設(shè)、龍山做網(wǎng)站、龍山網(wǎng)站設(shè)計(jì)、龍山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、龍山企業(yè)網(wǎng)站模板建站服務(wù),10余年龍山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。java 集合之Stack
概要:
Stack是棧,特性是先進(jìn)后出(FILO,F(xiàn)irst In Last Out)。Stack是繼承于Vector(矢量隊(duì)列),由于Vector是同數(shù)組實(shí)現(xiàn)的,Stack也是通過數(shù)組而非鏈表。
Stack和Collection關(guān)系如下:
基于Java8的源代碼:
public class Stackextends Vector { public Stack() {//創(chuàng)建空棧 } 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; } //序列版本號(hào) private static final long serialVersionUID = 1224463164541339165L; }