一、概述
Collection是集合层次的根接口,是List、Set、Queue、SortedSet的父接口,是Iterable的子接口。继承关系示意图如下:
值得一提的是,不少同学会容易把Iterable和Iterator两个接口混淆,理解好这两个接口有利于对整个集合框架的理解,可以看看前文:简述Iterable和Iterator接口,此文不做拓展。
二、常用API
三、简单的应用
Case 1 : add / addAll / Iterator 方法
public static void main(String[] args) {
ArrayList list1 = new ArrayList(); // 创建集合 list1
ArrayList list2 = new ArrayList(); // 创建集合 list2
list1.add("one"); // 向 list1 添加一个元素
list1.add("two"); // 向 list1 添加一个元素
list2.addAll(list1); // 将 list1 的所有元素添加到 list2
list2.add("three"); // 向 list2 添加一个元素
System.out.println("list2 集合中的元素如下:");
Iterator it1 = list2.iterator();
while (it1.hasNext()) {
System.out.print(it1.next() + "、");
}
}
结果如下:
list2 集合中的元素如下:
one、two、three、
由于Collection接口不能直接实例化使用,因此使用其子接口List的实现类ArrayList作为演示案例。
Case 2 : remove / removeAll 方法
public static void main(String[] args) {
ArrayList list1 = new ArrayList(); // 创建集合 list1
ArrayList list2 = new ArrayList(); // 创建集合 list2
list1.add("one");
list1.add("two");
list1.add("three");
System.out.println("list1 集合中的元素数量:" + list1.size()); // 输出list1中的元素数量
list2.add("two");
list2.add("four");
list2.add("six");
System.out.println("list2 集合中的元素数量:" + list2.size()); // 输出list2中的元素数量
list2.remove(2); // 删除第 3 个元素
System.out.println("\nremoveAll() 方法之后 list2 集合中的元素数量:" + list2.size());
System.out.println("list2 集合中的元素如下:");
Iterator it1 = list2.iterator();
while (it1.hasNext()) {
System.out.print(it1.next() + "、");
}
list1.removeAll(list2);
System.out.println("\nremoveAll() 方法之后 list1 集合中的元素数量:" + list1.size());
System.out.println("list1 集合中的元素如下:");
Iterator it2 = list1.iterator();
while (it2.hasNext()) {
System.out.print(it2.next() + "、");
}
}
结果如下:
list1 集合中的元素数量:3
list2 集合中的元素数量:3
removeAll() 方法之后 list2 集合中的元素数量:2
list2 集合中的元素如下:
two、four、
removeAll() 方法之后 list1 集合中的元素数量:2
list1 集合中的元素如下:
one、three、
参考资料:
[1] http://c.biancheng.net/view/6782.html