java - 如何从 float[] 中获取 Stream

标签 java java-8 java-stream

当我发现一些奇怪的东西时,我正在学习如何使用 java 8 流。

Arrays.stream() 拥有除 float 组之外的所有方法:

  • Arrays.stream(int[]) : IntStream
  • Arrays.stream(long[]) : LongStream
  • Arrays.stream(double[]) : DoubleStream

同样,有 int、double 等的 Stream 实现,但没有 float :

  • IntStream
  • LongStream
  • DoubleStream

这是有原因的吗?

使用 float 流的推荐方法是什么?

最佳答案

这是一种更好的方法,它不涉及复制数据。

DoubleStream ds = IntStream.range(0, floatArray.length)
                           .mapToDouble(i -> floatArray[i]);

关于java - 如何从 float[] 中获取 Stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23106093/

相关文章:

java - 使用 Lambda Map 函数而不是迭代来填充 Map

java - 如何按长字段对 List<Object> 进行排序

java - 如何获得 firebase token ?

java - 尝试使用 Java (JMS) 中的选择器在 Tibco EMS 上使用持久消息时遇到问题

java - 从字符串创建具有两位小数的 Double

lambda - 为什么在不安全操作之后而不是在整个 forEach 循环之后抛出 ConcurrentModificationException ?

Java 8,流查找重复元素

java - 将成绩转换为 GPA(带小数)

java - JAVA 中的 Streams 聚合,这是一个好方法吗?

Java 泛型不适用于参数 List<Object>