java中迭代器的作用就是循环的代换
*****遍历列表读取数据*****
两种遍历用法:
//for循环遍历
for(iterator<类型名> 迭代器名 = 列表名.iterator();迭代器名.hasNext();){
System.out.println(迭代器名.next());
}
//while循环遍历
iterator<类型名>迭代器名 = 列表名.iterator();
while(迭代器名.hasNext()){
System.out.println(迭代器名.next());
}
在这个例子中创建对象这一步:
List<String> list = new ArrayList<>();
运用到了泛型:
定义的列表类型为String类型将其转换成所需要的类型,而在ArrayList中没有指定(省略了强制性转换)
在使用迭代器的时候需要注意import的导入,否则会出现:
无法从静态方法中取得该方法的报错
这里有代码演示
for循环
/**
* 泛型和迭代器的使用
*/
public class FanXin {
public static void main(String[] args) {
List<String> list =new ArrayList<>();//
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
list.add(100); //此处会报错,原因是在定义列表对象时就已经声明了这是一个字符串类型的列表,所以不可以在里面添加整形的数据
for (int i =0; i < list.size(); i++) {
String name = list.get(i);
System.out.println("name:" + name);
}
因为我指定的类型为String,这时候如果add的字段里有int类型100的话
while循环
public class FanXin {
public static void main(String[] args) {
List<String> list =new ArrayList<>();//
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
Iterator<String> iterator1 = list.listIterator();
while (iterator1.hasNext()){
System.out.print(iterator1.next() + "\t");
}
执行结果:
因篇幅问题不能全部显示,请点此查看更多更全内容