我们当然都知道集合是用来存数据的,Collection是java集合中的其中一个阵营的顶层接口(另一个阵营是Map),它属于java.util包下,因为它是一个接口,所以只会定义一些基本的方法,当然不会去实现这些方法,而是由他的子类去做实现,那么我们来看看里面定义了一些什么方法,每一个方法的作用,具体的逻辑和实现我们在具体的实现类里面去学习:
boolean add(E e);
往集合中添加元素,添加成功返回true,否则返回false。当然是在满足约束条件下才能添加成功,比如数据类型是否正确,是否允许添加空元素,空间足够(当然一般有扩容保证)
boolean addAll(Collection<? extends E> c);
将指定集合中的元素添加到此集合(就是将一个集合中的所有元素添加的另一个集合中)
void clear();
清空集合中的元素
boolean contains(Object o);
判断集合中是否包含o这个元素,包含则返回true,否则返回false
boolean containsAll(Collection<?> c);
当前集合是否包含另一个集合中的所有元素,包含则返回true,否则返回false
boolean equals(Object o);
比较o与当前集合是否相等,当然我们对集合进行比较,想必都是想判断集合当中的元素是否相等,因为比较两个集合的地址是否相等一般情况下没有什么意义,所以集合下的子类会对equals进行重写,对元素进行比较,比如:AbstractList对equals进行了重写
int hashCode();
返回此集合的哈希代码值
boolean isEmpty();
判断集合是否为空,如果集合当中没有元素则返回true,否则返回false
Iterator iterator();
返回元素的迭代器,原理在后续文章中讲解
boolean remove(Object o);
从集合中删除单个元素(如果元素存在),删除成功返回true,否则返回false
boolean removeAll(Collection<?> c);
从此集合中删除另一个集合中的元素,成功返回true,否则返回false
boolean removeIf(Predicate<? super E> filter)
此方法待研究
boolean retainAll(Collection<?> c);
此集合中仅留下在指定集合中包含的元素,换句话说是两个集合的交集
int size();
返回集合中的元素个数
default Spliterator spliterator()
此方法待研究
default Stream stream()
此方法待研究
Object[] toArray();
返回一个Object类型数组,此数组包含所有集合中的元素
T[] toArray(T[] a);
返回一个指定类型的数组,该数组包含集合中的所有元素