You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将List<String[]>类型转换为List<List<String>>嵌套列表?

实现方案

针对将List<String[]>转换为List<List<String>>的需求,以下是几种实用的实现方式:

1. 基础循环遍历转换

这是最直观的实现方式,手动遍历数组并完成类型转换:

List<String[]> allData = csv.readAll();
List<List<String>> convertedList = new ArrayList<>();
for (String[] row : allData) {
    // 用ArrayList包装Arrays.asList的结果,获得可修改的List;若无需修改,可直接用Arrays.asList(row)
    convertedList.add(new ArrayList<>(Arrays.asList(row)));
}

注意:Arrays.asList()返回的是基于原数组的固定大小视图,不支持添加、删除操作,若需要可修改的List,必须用new ArrayList<>()进行包装。

2. Java 8+ Stream API 简洁实现

借助Stream的map操作批量转换,代码更简洁高效:

List<String[]> allData = csv.readAll();
List<List<String>> convertedList = allData.stream()
    .map(ArrayList::new) // 等价于 row -> new ArrayList<>(Arrays.asList(row))
    .collect(Collectors.toList());

如果不需要可修改的List,也可以直接使用Arrays::asList:

List<List<String>> convertedList = allData.stream()
    .map(Arrays::asList)
    .collect(Collectors.toList());

3. 使用Guava工具库(可选)

如果项目已引入Guava库,可借助现成工具方法简化代码:

import com.google.common.collect.Lists;

List<String[]> allData = csv.readAll();
List<List<String>> convertedList = Lists.transform(allData, Arrays::asList);

注意:Lists.transform返回的是懒加载的视图,若需要立即生成独立的List,可再包装一层new ArrayList<>(...)。

内容的提问来源于stack exchange,提问作者Ayon Moitra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:40:25