在 java 8 中使用 Stream 将列表字符串转换为 ArrayList 浮点型

问题描述 投票:0回答:2

社区下午好!

我有一个清单:

List<String> rate = new ArrayList<>(); 

如果可以使用 java 8 流来完成,我需要将数据转换为浮点数。 我是按照以下方式做的:

float valueRate = Float.parseFloat(rate);
java arraylist java-8 java-stream
2个回答
1
投票

尝试这样:

  • 给定一个字符串浮点值列表。
  • 使用
    float
     将它们映射到 
    Float.valueOf()
  • 并收集到列表中。
List<String> list = List.of("1.2", "3.4", "2.5f");
List<Float> floats = list.stream().map(Float::valueOf).collect(Collectors.toList());
    
System.out.println(floats);

打印

[1.2, 3.4, 2.5]

1
投票

您可以将

Stream#map
Float.valueOf
一起使用(以避免自动装箱)。

List<Float> res = rate.stream().map(Float::valueOf).collect(Collectors.toList());

使用 Java 16:

List<Float> res = rate.stream().map(Float::valueOf).toList();
© www.soinside.com 2019 - 2024. All rights reserved.