gpt4 book ai didi

java - 从 Collection 到 LongStream 的直接转换

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:37:10 24 4
gpt4 key购买 nike

我有一个 Collection<Long> (从 Map<UUID, Long>values() 方法获得)我想将它转换成 LongStream .

我能想到的最简单的方法是:

LongStream stream = map.values().stream().mapToLong(Long::longValue);

然而,令我印象深刻的是,应该有一种更简单的方法来从盒装等价物的集合中获取原始流。

我检查了StreamSupport并且只能找到 StreamSupport.longStream(Spliterator.OfLong spliterator, boolean parallel) , 但似乎没有一种简单的方法来获得 OfLong来自 Collection<Long> 的拆分器实例要么。

我当然可以创建自己的效用函数来执行上述 mapToLong功能,但如果有内置的东西,我宁愿使用它。如果已经有人问过这个问题,我也深表歉意 - 我进行了搜索,但一无所获。

最佳答案

LongStream stream = map.values().stream().mapToLong(Long::longValue);

标准库中没有快捷方式(或方便的转换方法)。我没有发现您提到的方法有任何错误或冗长。它简单明了,为什么您需要寻找其他东西?

您可以创建自己的实用程序类来支持它,但我认为这不会非常有用。

public final class Streams {
public static LongStream toLongStream(Stream<Long> stream) {
return stream.mapToLong(Long::longValue);
}

public static Stream<Long> toStreamLong(LongStream stream) {
return stream.boxed();
}

private Streams() {}
}

关于java - 从 Collection<Long> 到 LongStream 的直接转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57726789/

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