※星※ Java 集合

集合 — collection

爲什麼要使用集合 — 因爲數組不能滿足需求

數組缺點: 只能保存同一種類型的數據 一但聲明數組長度就不能改變

所以集合: 可以保存不同類型的對象(不能存基本數據類型 但是直接把基本數據類型放進去時 系統會自動把基本數據類型轉換成它的包裝類) 集合的長度是可變的

集合collection接口中的方法

因爲collection是接口 所以不能直接創建對象

我們可以用多態的方式來創建


Collection collection = new ArrayList();

// 添加

collection.add("a"):

collection.add("b"):

collection.add("c"):

System.out.println(collection.toString());

// 獲取集合的長度

int s = collection.size();

System.out.println(s);

// 判斷是否包含某個元素

boolean contains = collection.contains("a");

System.out.println(contains);

// 從集合中刪除一個元素

// 操作的是集合本身

boolean remove = collection.remove("a");

System.out.println(remove);

System.out.println(collection);

// 判斷集合是否爲空

boolean empty = collection.isEmpty();

System.out.println(empty);

// 清空數組

collection.clear();

System.out.println(collection);

結果


[a, b, c]

3

true

true

[b, c]

fasle

[]

addAll — 將後一個集合中的所有元素添加到前一個集合的末尾

兩個集合中重複的元素也會添加


Collection c1 = new ArrayList();

c1.add("a");

c1.add("b");

c1.add("c");

Collection c2 = new ArrayList();

c2.add("d");

c2.add("e");

c2.add("f");

boolean addAll = c1.addAll(c2);

System.out.println(c1);

System.out.println(c2);

System.out.println(addAll);

結果


[a, b, c, d, e, f]

[d, e, f]

true

removeAll — 將兩個集合中重合的部分刪除

誰調用 就刪除誰的元素 另一個集合不變


Collection c1 = new ArrayList();

        c1.add("a");

        c1.add("b");

        c1.add("c");

Collection c2 = new ArrayList();

        c2.add("a");

        c2.add("b");

        c2.add("b");

boolean removeAll = c1.removeAll(c2);

System.out.println(c1);

System.out.println(c2);

System.out.println(removeAll);

結果


[c]

[a, b, b]

true

retainAll — 只保留兩個集合中重合的元素

誰調用保留在誰那裏 另一個集合不變

保留後的集合 和原集合比較 發生變化返回true

沒發生變化 返回flase


Collection c1 = new ArrayList();

        c1.add("a");

        c1.add("b");

        c1.add("c");

Collection c2 = new ArrayList();

        c2.add("a");

        c2.add("b");

        c2.add("b");
boolean retainAll = c1.retainAll(c2);

        System.out.println(c1);

        System.out.println(c2);

        System.out.println(retainAll);

結果


[a, b]

[a, b, b]

true

迭代器 — 遍歷

iterator() — 返回一個迭代器

hasNext() — 判斷集合中有沒有下一個值

next() — 返回迭代的下一個元素 循環裏的迭代過程中只能調用一次


Collection collection = new ArrayList();

        collection1.add("a");

        collection1.add("b");

        collection1.add("c");
// 調用迭代器

Iterator iterator = collection.iterator();

// 循環遍歷

while (iterator.hasNext()) {

Object next = iterator.next();

System.out.println(next);

}

結果


a

b

c

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