数组和集合的对比:
相同点:都是容器,可以存储多个数据
不同点:数组的长度是不可变的,集合的长度是可变的
数组可以存基本数据类型和引用数据类型;集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类
collection集合:collection是单列集合的顶级接口,它没有直接的具体实现类,有两个子接口list和set
迭代器:集合的专用遍历方式
Iterator<E> iterator():获取迭代器对象,默认指向当前集合0索引
boolean hasNext():判断当前位置是否有元素可以被取出
E next():获取当前位置的元素,同时将迭代器对象移向下一个索引位置
void remove():删除迭代器对象当前指向的元素
增强for:简化数组和collection集合的遍历,比迭代器简单也比for循环简单
原理:它是jdk5之后出现的,其内部原理是一个Iterator迭代器
应用场景:实现Iterator接口的类才可以使用迭代器和增强for
注意事项:增强for循环中无法改变数组和集合中的元素
三种遍历方式使用场景
增强for:对集合进行遍历时,遍历过程中若要增删元素则不能使用
普通for:遍历过程中需要增删元素或操作索引时使用
迭代器:遍历过程中需要选取出元素,然后再删除元素时使用,否则直接报错