Java中将仅含单个元素的二维ArrayList转换为一维ArrayList的方法
仅含单个内部列表的ArrayList<ArrayList>转一维ArrayList方案
核心逻辑
已知外层列表仅存在1个内部列表元素,直接提取该内部元素即可完成转换,不需要复杂遍历。
具体实现
1. 最简写法(直接引用原内部列表)
如果允许转换后的一维列表和原二维列表共享内部数据,直接取外层列表索引为0的元素即可:
ArrayList<ArrayList<String>> twoDimensionalList = new ArrayList<>(); // 此处省略给twoDimensionalList赋值的逻辑 ArrayList<String> oneDimensionalList = twoDimensionalList.get(0);
2. 独立新列表写法
如果需要转换后的列表是独立对象,修改时不影响原二维列表,使用以下写法:
ArrayList<String> oneDimensionalList = new ArrayList<>(twoDimensionalList.get(0));
3. 带健壮性校验的写法
如果实际场景无法100%保证外层列表非空且有元素,增加判空逻辑避免IndexOutOfBoundsException:
ArrayList<String> oneDimensionalList = new ArrayList<>(); if (twoDimensionalList != null && !twoDimensionalList.isEmpty()) { oneDimensionalList.addAll(twoDimensionalList.get(0)); }
效果验证
转换前结构示例:[["A","B"]]
转换后结构示例:["A","B"]
内容的提问来源于stack exchange,提问作者Timmy333
相关产品推荐
相关产品推荐

