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

Java: add elements from a list to another with conversion

我确信有一些函数可以使用一些“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));
}

对于 Java 8+(结果列表是可变的,即可以更改、排序、..)

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

对于Java 16+(结果列表是不可变的,即不能添加或排序..)

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