【Java】Java容器篇(二),深入理解List集合類
【Java】Java容器篇(二),深入理解List集合類
文章目錄
建議整個系列一起看(更新中):
增強for: https://blog.csdn.net/qq_45495857/article/details/109410980
泛型:https://blog.csdn.net/qq_45495857/article/details/109410912
容器篇(一),巨集觀瞭解:https://blog.csdn.net/qq_45495857/article/details/109524162
List承諾可以將元素維護在特定的序列中,List介面在Collection的基礎上新增了大量的方法,使得可以在List的中間插入和移除元素
廢話不多說,直接開門見山:
1.List介面
繼承自Collection介面,在Java.util包下
特點:
- 元素有序(存入和取出的順序一樣)
- 有整數的索引
- 元素可以重複
特有功能(都是按索引進行操作的):
- void add(int index,E element):新增元素
- E remove(int index):刪除元素
- E set(int index,E element)修改元素
- E get(int index): 獲取元素
2.ArrayList
- 長於隨機訪問元素,但是在List的中間插入和移除元素時較慢,
- 底層是陣列
- ArrayList的Object陣列初始化長度為
10
,如果我們儲存滿了這個陣列,需要儲存第11個物件,就會定義新的長度更大的陣列,並將原陣列內容和新的元素一起加入到新陣列中,原始碼如下
3.LinkedList
-
底層雙向連結串列結構
-
查詢快,增刪慢
-
特性集較ArrayList更大
特有方法:
- void addFirst(E e):將元素新增到開頭
- void addLast(E e):將元素新增到末尾
- E getFirst():獲取開頭元素
- E getLast():獲取結尾元素
- E removeFirst():刪除第一個元素,並返回刪除的元素
- E removeLast():刪除最後一個元素,並返回刪除的元素
4.如何選擇使用哪種List集合(根據資料結構特點)
- 儘量避免使用Vector
- 查詢多,增刪少,用ArrayList
- 查詢少,增刪多,用LinkedList
- 預設用ArrayList
- CopyOnWriteArrayList是List的一個特殊實現,專門用於併發程式設計
5.List集合的遍歷
- foreach
- for
- 迭代器
迭代器後面專門講
// 以上就是本篇List集合的內容,希望能夠幫助到大家
相關文章
- Java集合——深入理解HashMapJavaHashMap
- 麵霸篇:Java 集合容器大滿貫(卷二)Java
- java集合-ListJava
- Java 集合類入門篇Java
- 詳解Java 容器(第③篇)——容器原始碼分析 - ListJava原始碼
- java之深入理解List.subList()方法Java
- Java容器 | 基於原始碼分析List集合體系Java原始碼
- Java集合List隨堂Java
- java list 集合去重Java
- 【java】【集合】List、ListIterator、VectorJava
- Java執行緒安全的集合類:Map、List、SetJava執行緒
- Java8 新特性 Stream流操作List集合 (二)Java
- Java集合原始碼探究~ListJava原始碼
- Java 的 Collection 與 List 集合Java
- 集合類【Java】Java
- Java原始碼篇之容器類——ArrayListJava原始碼
- Java集合詳解(一):全面理解Java集合Java
- Java集合詳解(二):ArrayList原理解析Java
- 好程式設計師Java培訓Java容器類List和Set分析程式設計師Java
- 深入理解Java中的鎖(二)Java
- Java開發工程師進階篇——深入淺出Java集合框架Java工程師框架
- Java知識點總結(Java容器-List)Java
- 深入理解Java SPI之入門篇Java
- java 容器類Java
- Java集合(5)之 List 總結Java
- Java中List集合效能比較Java
- Java List 常用集合 ArrayList、LinkedList、VectorJava
- Java集合類——MapJava
- Java集合類初探Java
- Java程式設計基礎17——集合(List集合)Java程式設計
- 深入理解Java虛擬機器(二)Java虛擬機
- Java Collection介面 ArrayList集合(容器)Java
- Java集合的深度理解Java
- Java —— 集合工具類(Collections 類)Java
- Java基礎8:深入理解內部類Java
- Java基礎——深入理解類的載入Java
- Java併發工具類:深入理解Concurrent包Java
- Java集合——TreeMap(二)Java