(二)List集合
阿新 • • 發佈:2018-04-24
一個 capacity 可重復 stack 分配 工具 派生類 線程安全 允許
List集合
- 元素有序,可重復,可通過索引訪問
- 增加了通過索引操作集合的方法,如:
- 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());
- 判斷元素相等的標準是兩個對象通過equals方法比較返回true
- List提供了listIterator方法返回ListIterator對象,比Iterator增加了add方法向集合中添加元素,還支持向前叠代
ArrayList類
- Vector實現類以及它的派生類Stack類不建議使用,但其是線程安全的
- 同Vector類封裝了一個動態的,允許再分配的Object[]數組,數組默認長度為10
- 重寫分配數組大小
- void ensureCapacity(int minCapacity),增大長度不小於minCapacity
- void trimToSize(),調整數組長度為當前元素個數,減少占用的存儲空間
固定長度的List
- Arrays工具類的asList(Object ...a)方法可以把一個數組或者制定個數的對象轉換成一個List集合,它是Arrays的內部類ArrayList的實例。
- Arrays.ArrayList是一個固定長度的List集合,程序只能訪問它,不能修改它
(二)List集合