Java 集合类
- List:一種有序列表的集合
- Set:一種保證沒有重復元素的集合
- Map:一種通過鍵值(key-value)查找的映射表集合
Java集合的設計有幾個特點:一是實現了接口和實現類相分離,例如,有序表的接口是List,具體的實現類有ArrayList,LinkedList等,二是支持泛型,我們可以限制在一個集合中只能放入同一種數據類型的元素, 例如:
List<String> list = new ArrayList<>(); // 只能放入String類型最后,Java訪問集合總是通過統一的方式——迭代器(Iterator)來實現,它最明顯的好處在于無需知道集合內部元素是按什么方式存儲的。
不應該繼續使用的遺留類:
- Hashtable:一種線程安全的Map實現;
- Vector:一種線程安全的List實現;
- Stack:基于Vector實現的LIFO的棧。
List主要接口:
- 在末尾添加一個元素:void add(E e)
- 在指定索引添加一個元素:void add(int index, E e)
- 刪除指定索引的元素:int remove(int index)
- 刪除某個元素:int remove(Object e)
- 獲取指定索引的元素:E get(int index)
- 獲取鏈表大小(包含元素的個數):int size()
可以通過List接口提供的of()方法,根據給定元素快速創建List:
List<Integer> list = List.of(1, 2, 5);始終堅持使用迭代器Iterator來訪問List
原因:
Iterator本身也是一個對象,但它是由List的實例調用iterator()方法的時候創建的。Iterator對象知道如何遍歷一個List,并且不同的List類型,返回的Iterator對象實現也是不同的,但總是具有最高的訪問效率。
Iterator對象有兩個方法:boolean hasNext()判斷是否有下一個元素,E next()返回下一個元素。
通過Iterator遍歷List永遠是最高效的方式
Array 與 List 轉換
- List 轉 Array:
-
- 調用 list.toArray() 方法直接返回一個Object[]數組,這種方法會丟失類型信息,所以實際應用很少。
- 給 list.toArray(T[]) 傳入一個類型相同的Array,List內部自動把元素復制到傳入的Array
- Array 轉 List:
通過List.of(T…)方法
總結
- 上一篇: Java SE 知识点
- 下一篇: 怎么申请域名绿标(怎么申请域名绿标注册)