gpt4 book ai didi

java - 如何按升序对 IntStream 进行排序?

转载 作者:行者123 更新时间:2023-12-02 00:32:36 25 4
gpt4 key购买 nike

我已将 2D int 数组转换为 Stream:

IntStream dataStream = Arrays.stream(data).flatMapToInt(x -> Arrays.stream(x));

现在,我想将列表按升序排序。我试过这个:

dataStream.sorted().collect(Collectors.toList());

但是我收到编译时错误 error

我对此感到困惑,因为在我见过的示例中,类似的事情是没有错误地完成的。

最佳答案

尝试使用

dataStream.sorted().boxed().collect(Collectors.toList());

因为 collect(Collectors.toList()) 不适用于 IntStream

我还认为,首先调用 sorted() 然后调用 boxed() 性能应该会稍微好一些。

IntStream.collect() 方法具有以下签名:

<R> R collect(Supplier<R> supplier,
ObjIntConsumer<R> accumulator,
BiConsumer<R, R> combiner);

如果你真的想使用它,你可以:

.collect(IntArrayList::new, MutableIntList::add, MutableIntList::addAll);

按照此处的建议:

How do I convert a Java 8 IntStream to a List?

关于java - 如何按升序对 IntStream 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44102620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com