1. 程式人生 > >(二)List集合

(二)List集合

一個 capacity 可重復 stack 分配 工具 派生類 線程安全 允許

List集合

  1. 元素有序,可重復,可通過索引訪問
  2. 增加了通過索引操作集合的方法,如:
    • Object get(int index)
    • Object remove(int index)
    • void sort(Comparator c)
      books.sort((o1, o2) -> ((String)o1).length() - ((String)o2).length());
    • void replaceAll(UnaryOperator operator),根據operator指定的計算規則重新設置元素值
      books.replaceAll(ele -> ((String)ele).length());
  3. 判斷元素相等的標準是兩個對象通過equals方法比較返回true
  4. List提供了listIterator方法返回ListIterator對象,比Iterator增加了add方法向集合中添加元素,還支持向前叠代

ArrayList類

  1. Vector實現類以及它的派生類Stack類不建議使用,但其是線程安全的
  2. 同Vector類封裝了一個動態的,允許再分配的Object[]數組,數組默認長度為10
  3. 重寫分配數組大小
    • void ensureCapacity(int minCapacity),增大長度不小於minCapacity
    • void trimToSize(),調整數組長度為當前元素個數,減少占用的存儲空間

固定長度的List

  1. Arrays工具類的asList(Object ...a)方法可以把一個數組或者制定個數的對象轉換成一個List集合,它是Arrays的內部類ArrayList的實例。
  2. Arrays.ArrayList是一個固定長度的List集合,程序只能訪問它,不能修改它

(二)List集合