Java中List集合效能比較
List是一個元素有序,可重複集合,集合中每個元素都有其對應的順序索引,List集合允許使用重複元素,可以透過索引來訪問指定位置的集合元素
var a=new ArrayList(); a.add(new String("zxc")); System.out.println(a.indexOf(new String("zxc")));
這段程式碼,程式試圖返回zxc的位置,但實際上List並未包含該字串物件,因為在List集合新增時,使用的是new String,但是最後程式依然返回1,這是因為,在List中對比兩個程式是否相等,只透過equals
在整個List系列中,ArrayList和LinkedList又是線性表的典型實現:基於陣列的線性表和基於鏈的線性表,Queue代表了佇列,Deque代表了雙端佇列
一般來說,由於陣列以一塊連續記憶體儲存所有陣列元素,所以陣列想隨機訪問時效能最好,所有的內部以陣列作為底層實現的集合在隨機訪問時效能都比較好,而內部以連結串列作為底層實現的集合在執行插入,刪除操作時有較好的效能,但總體來說,ArrayList比linkedList效能要好
-
在需要遍歷時,對於ArrayList,Vector,應該使用隨機訪問方法來遍歷,對於LinkedList,則應該使用迭代器Iterator來遍歷
-
如果需要經常執行插入,刪除,則LinkedList更好,因為ArrayList和Vector需要經常出現分配記憶體空間大小
-
如果有多個執行緒同時訪問List集合中的元素,可以考慮透過Collection將集合包裝成執行緒安全的集合
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2677940/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 BenchmarkDotNet 比較指定容量的 List 的效能
- 比較集合
- java集合-ListJava
- Java中List集合轉Map集合報錯:Duplicate keyJava
- Java Bean Copy元件的效能比較JavaBean元件
- Java JIT與AOT效能比較 - foojayJava
- 集合類的比較
- 集合差異比較演算法及效能測試演算法
- 效能比較
- Java 中的泛型 集合(List,Set) MapJava泛型
- Java集合List隨堂Java
- java list 集合去重Java
- 【java】【集合】List、ListIterator、VectorJava
- Java幾種常用JSON庫效能比較JavaJSON
- kotlin 集合內元素比較Kotlin
- 兩集合比較判斷
- Python的List vs Tuple比較Python
- Java集合原始碼探究~ListJava原始碼
- Java 的 Collection 與 List 集合Java
- Java 中 Comparable 和 Comparator 比較Java
- Java 中初始化 List 集合的 6 種方式!Java
- Java集合中List,Set以及Map等集合體系詳解(史上最全)Java
- Java程式設計基礎17——集合(List集合)Java程式設計
- Java基礎(二)- 普通for迴圈、foreach效能比較Java
- Java集合(5)之 List 總結Java
- Java List 常用集合 ArrayList、LinkedList、VectorJava
- List集合去重方式及效率對比
- MySQL 中的 distinct 和 group by 的效能比較MySql
- Java基礎之去除List集合中的重複元素Java
- Java 比較器Java
- python 批量resize效能比較Python
- JAVA中生成隨機數Random VS ThreadLocalRandom效能比較Java隨機randomthread
- Java實體對映工具MapStruct 與BeanUtils效能比較JavaStructBean
- 對Java list集合的新認知Java
- Java -- 對List集合進行分頁Java
- Java中CompletableFuture的thenApply與thenApplyAsync比較JavaAPP
- 請比較下for、forEach、for of的效能的效能
- Java集合詳解3:Iterator,fail-fast機制與比較器JavaAIAST