学习笔记,仅供参考,有错必纠
集合
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