JAVA 集合 迭代器

集合和數組的區別
數組只能存儲相同類型的數據 給定的長度是固定的不可改變
所以 我們就需要集合 集合可以存儲引用數據類型(可以通過自動裝箱來保存基本類型數據) 而且集合的長度是可以變化的這裏寫圖片描述

Collection接口中的方法
1.添加

Collection collection = new ArrayList();
collection.add("a");
collection.add(true);
collection.add(100);

2.刪除某個元素/是否包含某個元素
集合長度/判斷是否是空集合/清空集合

Collection collection = new ArrayList();
collection.add("a");
collection.add("b");
collection.add("c");
collection.add("d");
//刪除某個元素
System.out.println(collection.remove("c"));

//判斷這個集合是不是空的 
System.out.println(collection.isEmpty());

//獲取集合長度
System.out.println(collection.size());

//是否包含某個元素
System.out.println(collection.contains("e"));

//清空集合
collection.clear();
System.out.println(collection);

3.兩個集合的交集

Collection a1 = new ArrayList();
a1.add("a");
a1.add("b");
a1.add("c");

Collection a2 = new ArrayList();
a2.add("a");
a2.add("b");
a2.add("d");

//相當於把a1和a2的交集在a1中刪除
a1.removeAll(a2);
System.out.println(a1);
Collection a1 = new ArrayList();
a1.add("a");
a1.add("b");
a1.add("c");

Collection a2 = new ArrayList();
a2.add("a");
a2.add("d");
a2.add("e");

// 在a1中只保留a1和a2的交集 
boolean b = a1.retainAll(a2);
System.out.println(a1);

迭代器(現階段用來遍歷集合)
獲取集合中迭代器
Iterator iterator = collection.iterator();
判斷有沒有下一個元素
boolean hasNext = iterator.hasNext();
獲取下一個元素
Object next = iterator.next();

迭代器遍歷集合

Collection collection = new ArrayList();
collection.add("a");
collection.add("b");
collection.add("c");
collection.add("d");

Iterator iterator = collectio.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

List特有方法
add(int index,Object obj)–>添加
set(index,obj)—>替換
get(int index)—>獲取
remove(int index)—>刪除

數組實現和鏈表實現
數組: 查詢快 增刪慢
查詢: 依照下標查詢
增刪:把插入位置後面所有元素向後移動一位再插入
把刪除位置後面所有元素向前移動一位 替換刪除位置的字符

連邊: 查詢慢 增刪快
查詢: 先判斷要查找的元素 距離頭和尾的距離 從距離近的一方開始查找
增刪:直接找到要插入的位置 用插入的元素
重新保存上一個元素和下一個元素的地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章