Iterator:迭代器接口。用于便利集合。Collection接口提供了相应的
方法iterator()来获取接口的实现类
常用API
boolean hasNext() 判断集合中是否有下一个元素可取出
E next() 取出下一个元素
void remove() 会将迭代器取出的元素进行删除
迭代器是没有下标的
当用迭代器遍历集合时不能对集合进行操作List<String> chs = new ArrayList<String>();
底层原理就是迭代器
语法结构:
for(元素类型 变量:数组或集合名){
}
方法iterator()来获取接口的实现类
常用API
boolean hasNext() 判断集合中是否有下一个元素可取出
E next() 取出下一个元素
void remove() 会将迭代器取出的元素进行删除
迭代器是没有下标的
当用迭代器遍历集合时不能对集合进行操作List<String> chs = new ArrayList<String>();
在使用迭代器时,最好在取元素之前进行询问是否有下一个元素
练习代码:
public static void main(String[] args) {
List<String> chs = new ArrayList<String>();
for(char i='A';i<='Z';i++){
chs.add(i+"");
}
/*
* 获取chs的迭代器
*/
Iterator<String> it = chs.iterator();
while(it.hasNext()){
System.out.println(it.next());
it.remove();
System.out.println(chs);
//chs.remove(it.next()); 会报错,在迭代器中不能对集合进行操作
}
}
增强for循环:可以对数组或集合进行遍历
底层原理就是迭代器
语法结构:
for(元素类型 变量:数组或集合名){
}