對ArrayList中難理解的方法簡單的例項
阿新 • • 發佈:2019-08-31
//我只示例一些不容易理解的方法 一些個人看法:1.ArrayList執行緒不安全,(原始碼的實現沒有使用synchronized關鍵),2.允許值為null 3.查詢效率高,刪除慢。這是陣列的特性
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list =new ArrayList<>();
list.add(1);
list.add(5);
list.add(2);
list.add(null);
//使用迭代器遍歷
Iterator it=list.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
System.out.println(list);
//ArrayList的淺複製
Object l1=list.clone();
System.out.println(l1.toString());
System.out.println(l1);
//這個方法的意思是,因為ArrayList底層使用的是動態可變的陣列,
// 有時候陣列的容量大於表元素的容量,不想浪費空間,就把空間釋放掉
list.trimToSize();
System.out.println(list);
//將集合轉為陣列,只是接收用Object來宣告型別
Object l2[]=(Object [])list.toArray();
for(int i=0;i<l2.length;i++)
System.out.println(l2[i]);
//用陣列來接收集合的值
Integer b[]=new Integer[10];
b= list.toArray(b);
for(int i=0;i<list.size();i++)
System.out.println(b[i]);
//把一個集合新增到這個列表裡
List<Integer> list1=new ArrayList<>();
list1.add(6);
list1.add(8);
//往集合裡新增一個集合,其餘的類似的就不講啦
list.addAll(list1);
System.out.println(list);