java - 使用 Java 流从字符串数字列表中查找最大数字
问题描述
我正在尝试获取字符串列表中的最大数量。
我的代码是:
List<String> list = new ArrayList<String>();
list.add("00657");
list.add("00632");
list.add("00656");
list.add("01125");
Integer maxNum = list.stream()
.mapToInt(Integer::intValue)
.max();
上面的代码给出了一个错误。错误是:无法编译的源代码 - 错误的符号类型:java.util.stream.Stream.mapToInt.max。
我应该得到1125
结果。我尝试了不同的方法,但没有一个有效。
解决方案
您需要将 s 解析String
为Integer
s,这可以使用parseInt
:
List<String> list = new ArrayList<>();
list.add("00657");
list.add("00632");
list.add("00656");
list.add("01125");
int maxNum = list.stream()
.mapToInt(Integer::parseInt)
.max()
.orElse(-1);
因为无法保证您的流不会为空,所以这orElse
就是需要的原因。
推荐阅读
- tensorflow - 训练后使用 TensorFlow 模型进行目标检测
- javascript - 更改静态文件夹 - express
- go - 如何在非本地包错误中本地导入
- linux - 在 Linux 日志文件中记录最后 30 分钟的条目
- ansible - 使用 Ansible 在 fstab 中进行双重输入
- javascript - vue.js 将 getter 和 setter 添加到后期绑定属性
- java - 使用自定义适配器 sql 在我的列表视图上没有数据
- sql - 范围之间的块输入值的 SQL 查询
- json - 如何在 Postman 的不同集合中存储和重用模式?
- c - clang-analyze:如何避免“垃圾值”警告?