1. 程式人生 > >java中的Stack和Queue之間用法解釋,還有heap

java中的Stack和Queue之間用法解釋,還有heap

Stack(堆疊)是一種後進先出的模式,只能在棧頭進行插入與刪除操作。

1.  push    把項 壓入棧頂。其作用與 addElement (item ) 相同。    引數 item 壓入棧頂的項 。 返回: item 引數 ;

2.  pop ()   移除棧頂物件,並作為函式的值 返回該物件。返回:棧頂物件(Vector 物件的中的最後一項)。丟擲異常 : EmptyStackException 如果堆疊式空的 。。。

3.  peek()   檢視棧頂物件而不移除它。。返回:棧頂物件(Vector 物件的中的最後一項)。丟擲異常 : EmptyStackException 如果堆疊式空的 。。。

4.  empty  (測試堆疊是否為空。)  當且僅當堆疊中不含任何項時 返回 true,否則 返回 false.

5.  int search  (object o)         返回物件在堆疊中位置, 以 1 為基數, 如果物件 o是棧中的一項,該方法返回距離 棧頂最近的出現位置到棧頂的距離; 棧中最上端項的距離為 1 。 使用equals 方法比較 o 與 堆疊中的項。。。   

棧 stock1和stock2,棧stock1有資料,stock2為空棧,我想將棧stock1的資料給棧stock2,然後清空棧stock1。除了
while(!stock1.empty()) 
stock2.push(stock1.pop());
Stack<Integer> stack1 = newStack<Integer> ();
stack1.push (1);Stack<Integer> stack2 = (Stack<Integer>) stack1.clone ();stack1.clear ();

Queue(佇列)是一種先進先出的模式,只能在隊尾進行插入,在隊頭進行刪除。

1.add 增加一個元索  如果佇列已滿,則丟擲一個IIIegaISlabEepeplian異常
2.remove 移除並返回佇列頭部的元素  如果佇列為空,則丟擲一個NoSuchElementException異常


3.element  返回佇列頭部的元素  如果佇列為空,則丟擲一個NoSuchElementException異常
4.offer 新增一個元素並返回true 如果佇列已滿,則返回false
5.poll 移除並返問佇列頭部的元素 如果佇列為空,則返回null
6.peek 返回佇列頭部的元素  如果佇列為空,則返回null
7.put 新增一個元素  如果佇列滿,則阻塞
8.take 移除並返回佇列頭部的元素