Collection 作为集合的一个根接口,定义了一组对象和它的子类需要实现的 15 个方法:
对集合的基础操作(6),比如 :
- int size()
- 获取元素个数
- boolean isEmpty()
- 是否个数为 0
- boolean contains(Object element)
- 是否包含指定元素
- boolean add(E element)
- 添加元素,成功时返回 true
- boolean remove(Object element)
- 删除元素,成功时返回 true
- Iterator<E> iterator()
- 获取迭代器
还有一些操作整个集合的方法(5),比如 :
- boolean containsAll(Collection<?> c)
- 是否包含指定集合 c 的全部元素
- boolean addAll(Collection<? extends E> c)
- 添加集合 c 中所有的元素到本集合中,如果集合有改变就返回 true
- boolean removeAll(Collection<?> c)
- 删除本集合中和 c 集合中一致的元素,如果集合有改变就返回 true
- boolean retainAll(Collection<?> c)
- 保留本集合中 c 集合中两者共有的,如果集合有改变就返回 true
- void clear()
- 删除所有元素
还有对数组操作的方法:(2)
Object[] toArray()
- 返回一个包含集合中所有元素的数组
<T> T[] toArray(T[] a)
- 返回一个包含集合中所有元素的数组,运行时根据集合元素的类型指定数组的类型
遍历 Collection 的几种方式:
for-each
语法
Collection<Person> persons = new ArrayList<Person>();
for (Person person : persons) {
System.out.println(person.name);
}
2.使用 Iterator
迭代器
Collection<Person> persons = new ArrayList<Person>();
Iterator iterator = persons.iterator();
while (iterator.hasNext) {
System.out.println(iterator.next);
}
3.使用 aggregate operations
聚合操作
Collection<Person> persons = new ArrayList<Person>();
persons
.stream()
.forEach(new Consumer<Person>() {
@Override
public void accept(Person person) {
System.out.println(person.name);
}
});