-
繼承Collection接口,是Collection的子類
-
存儲順序一致,有對應的索引值,元素可以重復
-
可以通過索引來操作元素,如set(1,"AA")就是通過1索引來修改數據
-
元素允許重復元素因此可以用equals方法來比較,自定義對象話我們要重寫hashCode和equals方法
常用方法
public void add(int index,E element)將元素添加到指定的位置,index索引不能越級 public E get(int index)獲取索引元素 public E remove(int index) (boolean remove根據元素值來刪除)刪除索引元素默認傳數字的傳索引,想要刪除元素就用包裝類 public E set(int index,E element)修改指定索引的元素值
List的常用子類
如果要執行大量的增刪操作選擇LinkedList,如果只是查詢的話用ArrayList
ArrayList集合
-
有序存儲,繼承了List的特性,平時常用來查詢,遍歷數據
-
底層是數組結構,所以增刪慢,查詢快,效率高意味着線程不安全
LinkedList集合
-
有序存儲,繼承了List的特性
-
底層是鏈表結構,所以增刪快,查詢慢,同樣的效率高,但是線程不安全
-
LinkedList是一個雙向鏈表
-
特有方法
public void addFirst(E e) :將指定元素插入此列表的開頭。 public void addLast(E e) :將指定元素添加到此列表的結尾。 public E getFirst() :返回此列表的第一個元素。 public E getLast() :返回此列表的最后一個元素。 public E removeFirst() :移除並返回此列表的第一個元素。 public E removeLast() :移除並返回此列表的最后一個元素 //添加元素 link.addFirst("AA"); link.addLast("CC"); System.out.println(link); // 獲取元素 System.out.println(link.getFirst()); System.out.println(link.getLast()); // 刪除元素 System.out.println(link.removeFirst()); System.out.println(link.removeLast()); System.out.println(link)
