在Java中使用stream.sorted()对列表进行排序

我有兴趣对流中的列表进行排序。这是我正在使用的代码:

list.stream()

.sorted((o1, o2)->o1.getItem().getValue().compareTo(o2.getItem().getValue()))

.collect(Collectors.toList());

我想念什么吗?列表未排序。

它应该根据具有最低值的项目对列表进行排序。

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

{

System.out.println("list " + (i+1));

print(list, i);

}

以及打印方法:

public static void print(List<List> list, int i)

{

System.out.println(list.get(i).getItem().getValue());

}

回答:

这与Collections.sort()对参数引用进行排序的地方不同。在这种情况下,您将得到一个排序后的流,最终需要将其收集并分配给另一个变量:

List result = list.stream().sorted((o1, o2)->o1.getItem().getValue().

compareTo(o2.getItem().getValue())).

collect(Collectors.toList());

您只是错过了分配结果

以上是 在Java中使用stream.sorted()对列表进行排序 的全部内容, 来源链接: utcz.com/qa/434313.html

回到顶部