- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 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/
我的程序中有一些 SQL 语句包含具有给定 ID 的 IN 子句。问题是在某些情况下可能有超过 1000 个 ID,这会导致 Oracle 崩溃并出现 ORA-01795。项目太多。 所以我想把这个列
这个问题在这里已经有了答案: Limit a stream by a predicate (19 个回答) 5 个月前关闭。 我想迭代/生成一个无限的 IntStream 或 LongStream 并
为什么 DoubleStream 或 LongStream 没有与这些方法类似的方法(存在于 IntStream 中): public static IntStream range(int start
假设我有一个带范围的 LongStream,我想将 long 值作为键放在映射中,将函数结果作为值。 例如: Map m = LongStream.range(1, 20) ... long some
本章节我们提供一些 Java 8 中的 IntStream、LongStream 和 DoubleStream 使用范例。IntStream、LongStream 和 DoubleStream 分别表
我有这样的代码示例。 import java.util.LinkedList; import java.util.List; import java.util.stream.LongStream; p
我正在使用 LongStream的 rangeClosed来测试数字总和的性能。当我通过JMH测试性能时,结果如下。 @BenchmarkMode(Mode.AverageTime) @OutputT
我有一个 Collection (从 Map 的 values() 方法获得)我想将它转换成 LongStream . 我能想到的最简单的方法是: LongStream stream = map.va
出于教育目的,我想使用 Java-8 创建一个素数流。这是我的方法。号码x如果没有不超过 sqrt(x) 的素数除数,则为素数.所以假设我已经有一个素数流,我可以用下面的谓词来检查: x -> Seq
double average = LongStream .of(-4480186093928204294L, -1340542863544260591L, -600429628624003927
为什么当我使用 Collectors.toList() 从 LongStream 获取列表时出现错误,但使用 Stream 时没有错误? 例子: 错误: Something.mapToLong(Lon
我正在尝试使用 Java 8 的 LongStream 处理具有 Long 类型内容的 ArrayList,如下面给定的示例所示,但出现以下错误。 import java.util.*; import
我正在尝试使用 Java 8 的 LongStream 处理具有 Long 类型内容的 ArrayList,如下面给定的示例所示,但出现以下错误。 import java.util.*; import
我是一名优秀的程序员,十分优秀!