简介
在实际项目中,涉及到保存多个对象的操作往往会用到数组。然而传统的数组存在一个问题:长度是固定的。Java 2提供了一个专门实现数据结构的开发框架——类集框架,框架的程序接口和类都保存在java.util包中,其最为核心的用处就在于实现了动态对象数组的操作,定义了大量的操作标准,核心接口为:Collection、List、Set、Map、Iterator、Enumeration。
单对象保存父接口
java.util.Collection是进行单对象保存的最大父接口,即每次利用Collection接口都只能保存一个对象信息。Collection接口定义如下:
public interface Collection<E> extends Iterable<E>
在Collection接口中定义了9个常用操作方法,如下表所示。
No | 方法名称 | 类型 | 描述 |
---|---|---|---|
1 | public boolean add(E e) |
普通 | 向集合里面保存数据 |
2 | public boolean addAll(Collection<? extends E> c |
普通 | 追加以一个集合 |
3 | public void clear() |
普通 | 清空集合,根元素为null |
4 | public boolean contains(Object o) |
普通 | 判断是否包含指定的内容,需要equals()支持 |
5 | public boolean isEmpty() |
普通 | 判断是否是空集合(不是null) |
6 | public boolean remove(Object o) |
普通 | 删除对象,需要equals()支持 |
7 | public int size() |
普通 | 取得集合中保存的元素个数 |
8 | public Object[] toArray() |
普通 | 将集合变为对象数组保存 |
9 | public Iterator<E> iterator |
普通 | 为Iterator接口实例化(Iterator接口定义) |
注:使用contains()和remove()方法时,必须保证类中已经成功覆盖了Object类中的equals()方法。
Collection接口存在的问题:无法区分保存的数据是否重复。