Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何对实现Iterable的类进行排序<;V>;在爪哇?_Java - Fatal编程技术网

Java 如何对实现Iterable的类进行排序<;V>;在爪哇?

Java 如何对实现Iterable的类进行排序<;V>;在爪哇?,java,Java,我想要排序的类实现了接口Iterable 我问这个问题是因为最常用的Collection.sort()在这里不起作用。我认为您混淆了Iterable和Comparable。目标完全不同。您可以在JavaAPI上检查每个接口的目标 无论如何,如果您想使用Collections.sort对列表中的元素进行排序,则必须使用同时接收比较器的方法 使用而不是 如何使用Comparator您可以登录。我认为您混淆了Iterable和Comparable。目标完全不同。您可以在JavaAPI上检查每个接口的目

我想要排序的类实现了接口
Iterable


我问这个问题是因为最常用的
Collection.sort()
在这里不起作用。

我认为您混淆了
Iterable
Comparable
。目标完全不同。您可以在JavaAPI上检查每个接口的目标

无论如何,如果您想使用Collections.sort对列表中的元素进行排序,则必须使用同时接收比较器的方法

使用而不是


如何使用
Comparator
您可以登录。

我认为您混淆了
Iterable
Comparable
。目标完全不同。您可以在JavaAPI上检查每个接口的目标

无论如何,如果您想使用Collections.sort对列表中的元素进行排序,则必须使用同时接收比较器的方法

使用而不是

如何使用比较器
您可以签入。

试试这个

public class SomeIterable<V extends Comparable<V>> implements Iterable<V> {
    @Override public Iterator<V> iterator() { ..... }
}
公共类SomeIterable实现了Iterable{
@重写公共迭代器迭代器(){….}
}

Iterable Iterable=newsomeiterable();
// ...
List sorted=StreamSupport.stream(iterable.spliterator(),false)
.已排序()
.collect(Collectors.toList());
试试这个

public class SomeIterable<V extends Comparable<V>> implements Iterable<V> {
    @Override public Iterator<V> iterator() { ..... }
}
公共类SomeIterable实现了Iterable{
@重写公共迭代器迭代器(){….}
}

Iterable Iterable=newsomeiterable();
// ...
List sorted=StreamSupport.stream(iterable.spliterator(),false)
.已排序()
.collect(Collectors.toList());

要对对象集合进行排序,需要它们具有可比性而不是可比性。使用比较逻辑实现Compariable,或创建专用比较器。

要对对象集合进行排序,您需要它们具有可比性而不是可比性。使用比较逻辑实现Compariable或创建专用比较器。

您的问题是什么?您的问题是什么?