6、集合--List接口
List集合繼承了Collection接口已定義一個允許重復的有序集合
該接口不但能夠對列表的一部分進行處理
還添加了位置的操作
源碼地址:https://www.cnblogs.com/Mrchengs/p/10842091.html
相關的方法均在源碼中已有說明!!!
AbstractList和AbstractSequentialList抽象類
兩個抽線類的源碼地址:
https://www.cnblogs.com/Mrchengs/p/10844184.html
https://www.cnblogs.com/Mrchengs/p/10845263.html
在java程序中有兩個抽象的List實現類,分別時以上的兩種
像AbstractSet類一樣,他們覆蓋了equals()方法和hashCode()方法以確保兩個相等的集合返回相同的哈希碼
如果兩個列表大小相等且包含順序相同的元素
則這兩個列表相等,這裏的hashCode()方法在List接口中指定,在這裏實現
除了equsls()方法和hasnCode()方法之外
還實現了其余List方法的一部分
因為數據的隨機訪問和順序讀取是分別實現的
是得具體表現更為容易
LinkedList和ArrayList實現類
在集合框架中有兩個常規的List實現
LinkedList和ArrayList
如果支持隨機訪問,不惜在除尾部的任何位置插入或除去元素----ArrayList
如果頻繁的從列表中添加和刪除元素,只要順序的訪問列表---LinkedList
實現地址:https://www.cnblogs.com/Mrchengs/p/10845263.html
兩個實現類都實現類Cloneable接口
提供了兩個構造函數一個無參一個接收一個Collection
LinkedList:添加了一些處理列表兩端的方法
1、void addFirst(Object o):將對象o添加到列表的開頭
2、void addLast(Object o):將對象o添加大列表的結尾
3、Object getFirst():返回列表開頭的元素
4、Object getLast():返回列表結尾的元素
5、Object removeFirst():刪除並且返回列表開頭的元素
6、Object removeLast():刪除並且返回列表結尾的元素
7、LinkedList():構建一個空的鏈表
8、LinkedList(Collection c):構建一個鏈接列表並且添加集合c
ArrayList類:
ArrayList類封裝類一個動態在分配的Object [] 數組
每個ArrayList對像有一個Capacity
這個Capacity表示存儲列表中元素的數組的容量
當元素添加到ArrayList時,他會自動在常量的時間內增加
1、void ensureCapacity(int minCapacity):將ArrayList對像容量增加minCapacity
2、void trimToSize();整理ArrayList對象容量為列表當前大小,程序可以使用這個操作減少對象的存儲空間
6、集合--List接口