迭代器接口SCJP import java.util.Collections; 导入java.util.Iterator; 导入java.util.LinkedList; 导入java.util.List; 公开课{ 公共静态void main(字符串参数[]){ 列表=新建LinkedList(); 列表。添加(“一”); 列表。添加(“两个”); 列表。添加(“三”); 收款。反向(列表); 迭代器iter=list.Iterator(); 用于(对象o:iter){ 系统输出打印(o+“”); } } }
这个问题来自SCJP,我在理解迭代器和iterable方面有问题 我知道迭代器是迭代器方法的接口。为什么我们不能在迭代器的情况下使用每个循环?编译器说:只能迭代java.lang.iterable的数组或实例。这是什么?我试了很多次寻找,但没有得到答案迭代器接口SCJP import java.util.Collections; 导入java.util.Iterator; 导入java.util.LinkedList; 导入java.util.List; 公开课{ 公共静态void main(字符串参数[]){ 列表=新建LinkedList(); 列表。添加(“一”); 列表。添加(“两个”); 列表。添加(“三”); 收款。反向(列表); 迭代器iter=list.Iterator(); 用于(对象o:iter){ 系统输出打印(o+“”); } } },java,scjp,Java,Scjp,这个问题来自SCJP,我在理解迭代器和iterable方面有问题 我知道迭代器是迭代器方法的接口。为什么我们不能在迭代器的情况下使用每个循环?编译器说:只能迭代java.lang.iterable的数组或实例。这是什么?我试了很多次寻找,但没有得到答案 请回复Iterable和迭代器之间存在差异。是一个对象,它迭代另一个对象的元素,Iterable。是包含元素并提供迭代Iterator元素的Iterator对象(使用Iterator()方法) 增强的for循环必须采用Iterable,这样它就可
请回复Iterable和
迭代器之间存在差异。是一个对象,它迭代另一个对象的元素,Iterable
。是包含元素并提供迭代Iterator
元素的Iterator对象(使用Iterator()
方法)
增强的for
循环必须采用Iterable
,这样它就可以调用iterator()
,以获得一个新的迭代器来隐式迭代元素
这是由以下机构执行的:
增强型for语句的形式如下:
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class TryMe {
public static void main(String args[]) {
List list = new LinkedList<String>();
list.add("one");
list.add("two");
list.add("three");
Collections.reverse(list);
Iterator iter = list.iterator();
for (Object o : iter) {
System.out.print(o + " ");
}
}
}
及
表达式的类型必须是Iterable
或数组类型(§10.1),否则会发生编译时错误。
Iterable
和Iterator
之间存在差异。是一个对象,它迭代另一个对象的元素,Iterable
。是包含元素并提供迭代Iterator
元素的Iterator对象(使用Iterator()
方法)
增强的for
循环必须采用Iterable
,这样它就可以调用iterator()
,以获得一个新的迭代器来隐式迭代元素
这是由以下机构执行的:
增强型for语句的形式如下:
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class TryMe {
public static void main(String args[]) {
List list = new LinkedList<String>();
list.add("one");
list.add("two");
list.add("three");
Collections.reverse(list);
Iterator iter = list.iterator();
for (Object o : iter) {
System.out.print(o + " ");
}
}
}
及
表达式的类型必须是Iterable
或数组类型(§10.1),否则会发生编译时错误。
Iterable
和Iterator
之间存在差异。是一个对象,它迭代另一个对象的元素,Iterable
。是包含元素并提供迭代Iterator
元素的Iterator对象(使用Iterator()
方法)
增强的for
循环必须采用Iterable
,这样它就可以调用iterator()
,以获得一个新的迭代器来隐式迭代元素
这是由以下机构执行的:
增强型for语句的形式如下:
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class TryMe {
public static void main(String args[]) {
List list = new LinkedList<String>();
list.add("one");
list.add("two");
list.add("three");
Collections.reverse(list);
Iterator iter = list.iterator();
for (Object o : iter) {
System.out.print(o + " ");
}
}
}
及
表达式的类型必须是Iterable
或数组类型(§10.1),否则会发生编译时错误。
Iterable
和Iterator
之间存在差异。是一个对象,它迭代另一个对象的元素,Iterable
。是包含元素并提供迭代Iterator
元素的Iterator对象(使用Iterator()
方法)
增强的for
循环必须采用Iterable
,这样它就可以调用iterator()
,以获得一个新的迭代器来隐式迭代元素
这是由以下机构执行的:
增强型for语句的形式如下:
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class TryMe {
public static void main(String args[]) {
List list = new LinkedList<String>();
list.add("one");
list.add("two");
list.add("three");
Collections.reverse(list);
Iterator iter = list.iterator();
for (Object o : iter) {
System.out.print(o + " ");
}
}
}
及
表达式的类型必须是Iterable
或数组类型(§10.1),否则会发生编译时错误。
列表
是Iterable
,而迭代器
不是
这将有助于:
EnhancedForStatement:
for ( FormalParameter : Expression ) Statement
列表
是Iterable
,而迭代器
不是
这将有助于:
EnhancedForStatement:
for ( FormalParameter : Expression ) Statement
列表
是Iterable
,而迭代器
不是
这将有助于:
EnhancedForStatement:
for ( FormalParameter : Expression ) Statement
列表
是Iterable
,而迭代器
不是
这将有助于:
EnhancedForStatement:
for ( FormalParameter : Expression ) Statement
因为A不是A。这是两个不同的接口。您在iterable上迭代,而不是在iteratorrelated:@RC上迭代。这不相关,这是一个可能的重复,顺便说一句,编译器非常清楚您的问题:只能迭代一个数组或java.lang.Iterable
,因此您不能迭代迭代器,因为an不是一个。这是两个不同的接口。您在iterable上迭代,而不是在iteratorrelated:@RC上迭代。这不相关,这是一个可能的重复,顺便说一句,编译器非常清楚您的问题:只能迭代一个数组或java.lang.Iterable
,因此您不能迭代迭代器,因为an不是一个。这是两个不同的接口。您在iterable上迭代,而不是在iteratorrelated:@RC上迭代。这不相关,这是一个可能的重复,顺便说一句,编译器非常清楚您的问题:只能迭代一个数组或java.lang.Iterable
,因此您不能迭代迭代器,因为an不是一个。这是两个不同的接口。您在iterable上迭代,而不是在iteratorrelated:@RC上迭代。这不相关,这可能是一个双重问题,编译器对您的问题非常清楚:只能迭代一个数组或java.lang.Iterable
,因此您不能迭代迭代器