java - 获取和编辑子列表在 java 8 的主列表中
问题描述
我有很多主列表,其中有一个子列表。
如何访问子列表并通过 java 8 进行编辑。
例子。
List<Student> list = ....;
list[0] = {id = 1, name = "aa", ListMinute = List<String> ls1}
list[1] = {id = 2, name = "bb", ListMinute = List<String> ls2}
list[2] = {id = 3, name = "cc", ListMinute = List<String> ls3}
list[3] = {id = 4, name = "dd", ListMinute = List<String> ls4}
list[0] 的子列表示例:
List<String> ls1 = {"120", "150", "45", "195"}; //List in minutes.
如何将所有子列表从分钟转换为小时和分钟。
list[0] 的子列表的输出:
List<String> ls1 = {"2", "2.30", "0.45", "3.15"}; // List in hours and minutes.
解决方案
获得转换的方法之一可能是:
List<String> ls1 = List.of("120", "150", "45", "195"); //List in minutes.
List<String> out = ls1.stream()
.mapToInt(Integer::parseInt)
.mapToObj(min -> String.format("%d.%d", min / 60, min % 60))
.collect(Collectors.toList());
// would output 2.0 instead of 2 though
如果你想更新你现有的List
,你可以试试replaceAll
List<String> ls1 = Stream.of("120", "150", "45", "195").collect(Collectors.toList()); //List in minutes.
ls1.replaceAll(a -> {
int min = Integer.parseInt(a);
return String.format("%d.%d", min / 60, min % 60);
});
推荐阅读
- nginx - Curl 在 Nginx 重启后检索数据时出现问题
- java - 我们如何访问子类覆盖的超类方法?怎么可能在内存级别?
- java - Apache Netbeans 中缺少 Java 类别
- sql - 使用 PIVOT 的 NULL 字段
- linux - GTK 程序什么都不做
- selenium - 当 selenium-server-standalone 作为 Windows 服务运行时,无法初始化 Chrome WebDriver
- c - insmod:错误:无法插入模块 dvb-usb-it913x.ko:模块中的未知符号
- c++ - 如何使用带有特殊整数的输入重定向作为分隔符,直到 eof
- java - 无法使用 Collections(Java) 对文件名包含时间戳的文件列表进行排序
- sql - 使用连续的行对计算值,包括最后一行的值