Collection集合
概述:位于java.util
包中,是层次结构中的根接口。
与数组的区别:
- 数组的长度使固定的,集合的长度是可变的。
- 数组中储存的是同一类型的元素,可以是基本类型;而集合中存储的都是对象,且对象类型可以不一致。
集合框架
Collection接口常用方法
注意:顶层方法,所有子类(实现类)均可使用。
-
boolean add(E e)
把对象添加到当前集合中
-
void clear()
移除此 collection 中的所有元素 -
boolean contains(Object o)
如果此 collection 包含指定的元素,则返回 true -
boolean remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话 -
boolean isEmpty()
如果此 collection 不包含元素,则返回 true -
int size()
返回此 collection 中的元素数 -
Object[] toArray()
把集合中的元素储存到数组中
Iterator接口
概述:java.util.Iterator
,对collection进行迭代的迭代器(对集合进行遍历)。
方法
boolean hasNext()
如果仍有元素可以迭代,则返回 true。 (判断集合中)E next()
返回迭代的下一个元素。 ()
使用步骤(多用While循环)
-
使用collection中的
Iterator<E> iterator()
获取迭代器的实现类对象(多态)。(指针指向集合的-1索引)注意:迭代器也有泛型,与集合一致。
-
使用Iterator接口中的hasNext方法判断是否有下一个元素。
-
使用Iterator接口中的Next方法取出集合中下一个元素。(指针向后移动一位)
注意:如果没有元素,则会抛出
NoSuchElementException
异常。
增强for循环
-
概述:底层也用迭代器,使用for循环的格式,简化迭代器的书写。也称for each循环,所有单列集合都可以使用增强for。
-
作用:遍历集合和数组。
-
格式:
for(集合/数组的数据类型 变量名;集合/数组名){
sout(变量名);
}