學習筆記,僅供參考,有錯必糾
集合
Collection類
Collection類是java.util包下的一個類,使用該類時需要導包。它是一個接口,所以,不能被實例化。
成員方法
boolean add(E e)
//在集合中我們可以添加任意對象;如果此collection由於調用而發生更改,則返回 true
boolean remove(Object o)
//從此collection中移除指定元素的單個實例,如果存在的話(可選操作)
void clear()
//移除此 collection 中的所有元素(可選操作)
boolean contains(Object o)
//如果此 collection 包含指定的元素,則返回 true
boolean isEmpty()
//如果此collection不包含任何元素,則返回 true。
int size()
//返回此 collection 中的元素數。如果此 collection 包含的元素大於 Integer.MAX_VALUE,則返回 Integer.MAX_VALUE
boolean addAll(Collection c)
boolean removeAll(Collection c)
boolean containsAll(Collection c)
boolean retainAll(Collection c)
- 舉個例子
package com.guiyang.restudy3;
import java.util.ArrayList;
import java.util.Collection;
import com.guiyang.bean.Student;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class D1ArrayList {
public static void main(String[] args) {
Collection c = new ArrayList(); //父類引用指向子類對象
boolean b1 = c.add("abc");
boolean b2 = c.add(true); //自動裝箱new Boolean(true);
boolean b3 = c.add(100);
boolean b4 = c.add(new Student("張三",23));
boolean b5 = c.add("abc");
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
System.out.println(b4);
System.out.println(b5);
System.out.println(c.toString());
}
}
輸出:
true
true
true
true
true
[abc, true, 100, Student [name=張三, age=23], abc]
- 舉個例子2
package com.guiyang.restudy3;
import java.util.ArrayList;
import java.util.Collection;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class D1ArrayList {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
System.out.println(c);
System.out.println(c.size()); //獲取元素的個數
c.remove("b"); //刪除指定元素
System.out.println(c);
System.out.println(c.contains("b")); //判斷是否包含
c.clear(); //清空集合
System.out.println(c.isEmpty());
}
}
輸出:
[a, b, c, d]
4
[a, c, d]
false
true
- 舉個例子3
package com.guiyang.restudy3;
import java.util.ArrayList;
import java.util.Collection;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class D2ArrayList {
public static void main(String[] args) {
Demo1();
System.out.println("-------");
Demo2();
System.out.println("-------");
Demo3();
System.out.println("-------");
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("z");
boolean b = c1.containsAll(c2); //判斷調用的集合是否包含傳入的集合
System.out.println(b);
}
private static void Demo3() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("z");
boolean b = c1.removeAll(c2); //刪除的是交集
System.out.println(b);
System.out.println(c1);
}
private static void Demo2() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList(); //alt + shift + r改名
c2.add("a");
c2.add("b");
c2.add("c");
c2.add("d");
c1.addAll(c2); //將c2中的每一個元素添加到c1中
// c1.add(c2); //將c2看成一個對象添加到c1中
System.out.println(c1);
}
private static void Demo1() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("c");
//取交集,如果調用的集合改變就返回true,如果調用的集合不變就返回false
boolean b1 = c1.retainAll(c2); //取交集
System.out.println(b1);
System.out.println(c1);
boolean b2 = c1.retainAll(c2); //取交集
System.out.println(b2);
System.out.println(c2);
}
}
輸出:
true
[a, b, c]
false
[a, b, c]
-------
[a, b, c, d, a, b, c, d]
-------
true
[c, d]
-------
false