public static void main(String[] args)
{
Collection c = new ArrayList();
// 添加元素
c.add("孙悟空");
// 虽然集合里不能放基本类型的值,但Java支持自动装箱
c.add(6);
System.out.println("c集合的元素个数为:" + c.size()); // 输出2
// 删除指定元素
c.remove(6);
System.out.println("c集合的元素个数为:" + c.size()); // 输出1
// 判断是否包含指定字符串
System.out.println("c集合的是否包含\"孙悟空\"字符串:"
+ c.contains("孙悟空")); // 输出true
c.add("轻量级Java EE企业应用实战");
System.out.println("c集合的元素:" + c);
Collection books = new HashSet();
books.add("轻量级Java EE企业应用实战");
books.add("疯狂Java讲义");
System.out.println("c集合是否完全包含books集合?"
+ c.containsAll(books)); // 输出false
// 用c集合减去books集合里的元素
c.removeAll(books);
System.out.println("c集合的元素:" + c);
// 删除c集合里所有元素
c.clear();
System.out.println("c集合的元素:" + c);
// 控制books集合里只剩下c集合里也包含的元素
System.out.println("books集合的元素:" + books);
books.retainAll(c);
System.out.println("books集合的元素:" + books);
}
这里的一个关键点:上面程序中创建了两个Collection对象,一个是c集合,一个是books集合,其中c集合是ArrayList,而books集合是HashSet。虽然它们使用的实现类不同,但当把它们当成Collection来使用时,使用add、remove、clear等方法来操作集合元素时没有任何区别。
也就是说,使用它们共同的interface方法是没有任何问题的。