java中的list修改元素_如何使用Java 8方法对List>结构中的每个元素应用一些更改...

我有一些像List< List< Double>>的结构. listOfDoubles我需要将它转换为List< List< Integer>> listOfInteger.我在不使用Java 8的情况下编写代码.它看起来像:

List> integerList = new ArrayList<>();

for (int i = 0; i < doubleList.size(); i++) {

for (Double doubleValue : doubleList.get(i)) {

integerList.get(i).add(doubleValue.intValue());

}

}

我试图用foreach替换第二个,但不能因为我应该是最终的.如何使用Java 8方法编写此代码?

解决方法:

您可以流式传输“外部”列表,生成Stream< List< Double>.然后,流式传输每个“内部”列表,将每个元素转换为整数并收集结果.然后只收集“外部”流.如果你把它们放在一起,你会得到这样的东西:

List> integerList =

doubleList.stream()

.map(l -> l.stream()

.map(Double::intValue)

.collect(Collectors.toList()))

.collect(Collectors.toList());

标签:java,java-8,java-stream,list,foreach

来源: https://codeday.me/bug/20190727/1551928.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值