java.util.ArrayDeque類使用方法介紹
本文為大家介紹了yDeque類使用方法,供大家參考,具體內容如下
1. ArrayDeque有兩個類屬性,head和tail,兩個指針。
2. ArrayDeque通過一個數組作為載體,其中的數組元素在add等方法執行時不移動,發生變化的'只是head和tail指針,而且指針是循環變化,數組容量不限制。
3. offer方法和add方法都是通過其中的addLast方法實現,每添加一個元素,就把元素加到數組的尾部,此時,head指針沒有變化,而tail指針加一,因為指針是循環加的,所以當tail追上head(( = + 1 & th - 1) == )時,數組容量翻一倍,繼續執行。
4. remove方法和poll方法都是通過其中的pollFirst方法實現,每移除一個元素,該元素所在位置變成null,此時,tail指針沒有變化,而head指針加一,當數組中沒有數據時,返回null。
5. 因為ArrayDeque不是線程安全的,所以,用作堆棧時快於 Stack,在用作隊列時快於 LinkedList。
package ect11; import yDeque;import e; public class ArrayDequeDemo { /** * @param args */ public static void main(String[] args) { Deque
data = new ArrayDeque
(); // 增加元素 for (int i = 0; i < 20; i++) { (" ." + i + " "); } // 刪除第一個 veFirst(); // 獲取第一個 tln(First()); // 增加到最後 ast(" .9999"); // tln(data); // 遍歷 for(Object o : data){ tln(o); } } }
以上就是本文的全部內容,希望對大家的學習有所幫助。
-
Java技術怎麼學習
對於很多隻會C語言的初學者而言,面對java基礎語法學習,反而感覺很難,其實其中最大的問題不是語法難,而是一種編程思想的轉變。怎麼學習才是正確的呢?下面是相關的知識,歡迎閲讀。1.概述學過一段時間的同學一定會覺得Java學習最頭疼的不是語法結構的繁雜,而是Java本身...
-
java中length和length()的區別
泉水,奮鬥之路越曲折,心靈越純潔。以下是小編為大家搜索整理了java中length和length()的區別,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!length是屬性,一般集合類對象擁有的屬性,取得集合的大小。例如:數組th就是取得數組的長度。length()是...
-
Java虛擬機垃圾收集算法
Java虛擬機的內存區域中,程序計數器、虛擬機棧和本地方法棧三個區域是線程私有的,隨線程生而生,隨線程滅而滅;棧中的棧幀隨着方法的進入和退出而進行入棧和出棧操作,每個棧幀中分配多少內存基本上是在類結構確定下來時就已知的,因此這三個區域的內存分配和回收都具...
-
Java Class文件是什麼
Class類是在Java語言中定義一個特定類的實現。一個類的定義包含成員變量,成員方法,還有這個類實現的接口,以及這個類的父類。Class類的對象用於表示當前運行的Java應用程序中的類和接口。比如:每個數組均屬於一個Class類對象,所有具有相同元素類型和維數的數組共享...
相關文章
- jQuery 和其他 JavaScript 框架使用方法
- 如何實現bootstrap jquery dataTable異步ajax刷新表格數據
- Cultivate Your ReadingHabit培養閲讀習慣方法
- Dreamweaver中JavaScript行為操作使用方法
- Java中ArrayList類的使用方法
- java的String=a; a==null和a.equals(null)這兩個判斷有什麼區別
- Java中break、continue、return語句的使用區別對比介紹
- 關於javascript中encodeURI和decodeURI的使用方法
- jQuery解析XML與傳統JavaScript方法的差別
- jQuery中的read和JavaScript中的onload函數的區別在哪