Java 如何比较Iterable的值

Java 如何比较Iterable的值,java,iterable,Java,Iterable,假设我有一个列表,如果我想比较所有的值>我会这样做: for(int i = 0; i < list.size(); i++) { for(int j = (i+1); j < list.size(); j++) { } } for(int i=0;i

假设我有一个列表,如果我想比较所有的值>我会这样做:

for(int i = 0; i < list.size(); i++) {
    for(int j = (i+1); j < list.size(); j++) {

    }
}
for(int i=0;i
这样,所有值都会比较一次,而不是两次。如果我的值作为Iterable返回,是否有方法执行类似的比较?

您可以将Iterable用于外部循环,但不能用于内部循环。对于您正在做的工作,您希望为内部和外部循环使用相同的集合。所以你需要在这里列出一个清单


您可能应该通过比较列表中的所有元素来解释您想要实现的目标。例如,如果您想对列表进行排序,那么这不是正确的方法。

我在理解您的问题时遇到困难。你能更好地解释一下吗?将Iterable转换成一个列表,并使用相同的算法。他想使用迭代器,但想从迭代器的某一项开始。要比较使用Comparatory,你不能复制java.util.iterator,所以你应该按照你在问题中展示的方式来做。