简体   繁体   English

Java:通过转换将元素从列表添加到另一个列表

[英]Java: add elements from a list to another with conversion

I am sure there are some functions to shorten my code below with some "lamda, map, Collections"-magic that does not need the loop to read from lsta and insert into lstb.我确信有一些函数可以用一些“lamda、map、Collections”来缩短我的代码——不需要循环从 lsta 读取并插入 lstb。

List <Integer> lsta = new ArrayList <Integer> ();
// ... insert into lsta

List <String> lstb = new ArrayList <String> ();
for (Integer a : lsta)
{
   lstb.add (foo (a));
}

For Java 8+ (result list is mutable, ie can be changed, sorted, ..)对于 Java 8+(结果列表是可变的,即可以更改、排序、..)

List<String> lstb = lsta.stream().map(a -> foo(a)).collect(Collectors.toList());

For Java 16+ (result list is immutable, ie cannot be added to or sorted ..)对于 Java 16+(结果列表是不可变的,即不能添加或排序..)

List<String> lstb = lsta.stream().map(a -> foo(a)).toList();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM