关于java iterator的next()方法的用法

现在iterator中已经有两个元素,是Flight类(Flight是我自己定义的类)
现在我想把iterator中的这两个元素再付给Flight类型
但是Flight flight = iterator.next();会报错
我该怎么做呢
另外补充一点,我用强制类型转换也不可以
Flight flight = (Flight)iterator.next();
最新回答
紫夜雪舞

2026-10-21 10:07:39

next()是java迭代器类(Iterator)的方法,获得当前游标指向的下一个元素,详细说明和应用如下:

1、迭代器(Iterator)介绍
  迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。
  Java中的Iterator功能比较简单,并且只能单向移动:
  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
  (2) 使用next()获得序列中的下一个元素。
  (3) 使用hasNext()检查序列中是否还有元素。
  (4) 使用remove()将迭代器新返回的元素删除。
  Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

2、迭代器应用:
list l = new ArrayList();
l.add("aa");
l.add("bb");
l.add("cc");
for (Iterator iter = l.iterator(); iter.hasNext();) {
String str = (String)iter.next();
System.out.println(str);
}
/*迭代器用于while循环
Iterator iter = l.iterator();
while(iter.hasNext()){
String str = (String) iter.next();
System.out.println(str);
}
*/
情感简单

2026-08-28 18:08:38

Flight flight = (Flight)iterator.next();//要强制类型转换一下,因为iterator中的元素都是Object型的。
梦里七彩虹

2026-07-23 17:26:04

楼上说的对,给iterator的集合类定义的时候,把泛型加上,就没问题了1
就像这样。
List<Fight> list=new ArrayList<Fight>
灼热感

2026-05-05 22:00:43

你的集合类用的什么?还不如用范型,然后用foreach循环,这样来的简单些。