stream流排序小数字符串
时间: 2023-09-08 11:10:13 浏览: 81
要对一个包含小数字符串的流进行排序,你可以使用`Stream` API提供的`sorted`方法和自定义的比较器。下面是一个示例:
```java
import java.util.Comparator;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
Stream<String> stream = Stream.of("3.14", "2.71", "1.41", "1.732", "2.236");
// 使用自定义的比较器进行排序
Stream<String> sortedStream = stream.sorted(Comparator.comparingDouble(Double::parseDouble));
// 遍历排序后的流并输出结果
sortedStream.forEach(System.out::println);
}
}
```
运行上述代码将输出按照小数值进行排序后的结果:
```
1.41
1.732
2.236
2.71
3.14
```
在这个例子中,我们使用了`Comparator.comparingDouble`方法来创建一个比较器,该比较器将会按照解析后的小数值进行排序。`sorted`方法返回一个新的流,其中的元素按照指定的比较器进行排序。最后,使用`forEach`方法遍历并输出排序后的结果。
请注意,我们在比较器中使用了`Double::parseDouble`方法,将字符串转换为对应的双精度浮点数进行比较。这样可以确保按照小数值的大小进行排序。
阅读全文