概述
Java的集合类主要由两个接口派生而来:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包括了一些子接口或实现类。如下图是集合的继承关系:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
1.1 Collection接口
Collection接口是List、Set、Queue接口的父接口,该接口里定义的方法既可以用于操作Set集合,也可以用于操作List和Queue集合。
Collection接口里定义了如下操作集合元素的方法:
boolean add(Object o); 该方法用于向集合里添加一个元素。如果集合元素被添加操作改变了,则返回true。 boolean addAll(Collection c); 该方法把集合c里的元素添加到指定集合里。如果集合对象被操作改变了,则返回true。 void clear(); 清除集合里的所有元素。将集合长度变为0. boolean contains(Object o); 返回集合里是否包括指定元素。 boolean containsAll(Collection c); 返回集合里是否包括集合c里所有的元素。 boolean isEmpty(); 返回集合是否为空。 Iterator iterator(); 返回一个Iterator对象,用于遍历集合里的元素。 boolean remove(Object o); 删除集合里指定元素o。当集合里包括一个或多个元素o时,这些元素将被删除,该方法返回true。 boolean removeAll(Collection c);从集合里删除集合c里包括的所有元素。如果删除了一个或一个以上的元素,该方法返回true。 int size(); 该方法返回集合里元素的个数 Object[] toArray(); 该方法把集合转换成一个数组,所有的集合元素变成对应的数组元素。
下面示范一下:
import java.util.*; public class CollectionTest { public static void main(String[] args) { Collection c = new ArrayList(); //添加元素 c.add("孙悟空"); //虽然集合里不能放基本类型的值,但Java支持自动装箱 c.add(6); System.out.println("c集合的元素个数为:" + c.size()); //删除指定元素 c.remove(6); System.out.println("c集合的元素个数为:" + c.size()); //判断是否包含指定字符串 System.out.println("c集合的是否包含\"孙悟空\"字符串:" + c.contains("孙悟空")); 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)); //用c集合减去books集合里的元素 c.removeAll(books); System.out.println("c集合的元素:" + c); //删除c集合里所有元素 c.clear(); System.out.println("c集合的元素:" + c); //books集合里只剩下c集合里也包含的元素 books.retainAll(c); System.out.println("books集合的元素:" + books); } }
运行结果:
c集合的元素个数为:2 c集合的元素个数为:1 c集合的是否包含"孙悟空"字符串:true c集合的元素:[孙悟空, 轻量级Java EE企业应用实战] c集合是否完全包含books集合?false c集合的元素:[孙悟空] c集合的元素:[] books集合的元素:[]
时间: 2024-10-12 21:48:59