Java8中,将List<String[]>
转换为List<List<Integer>>
可以通过使用Stream API和lambda表达式来实现。下面是一种可能的解决方案:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String[]> stringArray = Arrays.asList(
new String[]{"1", "2", "3"},
new String[]{"4", "5", "6"},
new String[]{"7", "8", "9"}
);
List<List<Integer>> integerList = stringArray.stream()
.map(arr -> Arrays.stream(arr)
.map(Integer::parseInt)
.collect(Collectors.toList()))
.collect(Collectors.toList());
System.out.println(integerList);
}
}
以上代码首先创建了一个List<String[]>
,其中包含三个String
类型的数组。然后,使用Stream API的map()
方法将每个String[]
转换为List<Integer>
。在map()
方法中,使用Arrays.stream()
将String[]
转换为Stream<String>
,然后使用map()
和Integer.parseInt()
将每个String
转换为Integer
。最后,使用collect()
方法将每个转换后的List<Integer>
收集到一个新的List<List<Integer>>
中。
运行以上代码,将输出[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
,表示成功将List<String[]>
转换为List<List<Integer>>
。
这种转换适用于将一个包含数组元素的列表转换为一个包含列表元素的列表的情况。在实际应用中,可以根据具体的业务需求进行调整和优化。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云