迭代器接口SCJP import java.util.Collections; 导入java.util.Iterator; 导入java.util.LinkedList; 导入java.util.List; 公开课{ 公共静态void main(字符串参数[]){ 列表=新建LinkedList(); 列表。添加(“一”); 列表。添加(“两个”); 列表。添加(“三”); 收款。反向(列表); 迭代器iter=list.Iterator(); 用于(对象o:iter){ 系统输出打印(o+“”); } } }

迭代器接口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,这样它就可

这个问题来自SCJP,我在理解迭代器和iterable方面有问题

我知道迭代器是迭代器方法的接口。为什么我们不能在迭代器的情况下使用每个循环?编译器说:只能迭代java.lang.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
,因此您不能迭代
迭代器