【发布时间】:2021-12-31 10:38:26
【问题描述】:
如果我知道我的ArrayList<ArrayList<String>> 将只包含一个元素(列表中的一个列表),我如何将其转换为一维 ArrayList。这样从[["A","B"]] 我得到["A","B"]?
【问题讨论】:
-
listOfLists.stream().flatMap(List::stream).collect(Collectors.toList());- 即使有多个列表也可以工作。 Ideone demo -
您的 2D 列表包含 1D 列表,这意味着您已经有 一些 1D 列表(在里面)。为什么要将 2D 列表转换为 1D?只需
2dList.get(indexOf1DList)。 -
@Pshemo 因为我不想创建新变量
-
@Timmy333 为什么?你想要避免的劣势是什么?无论如何,您无法更改变量的类型,因此您无法将
ArrayList<ArrayList<String>> variable更改为ArrayList<String> variable,因此您没有太多选择(可能是原始类型,但那将是比疾病更糟糕的药物 - 请参阅:@ 987654322@) -
我也从不建议创建新变量。您始终可以在所有地方直接使用
2dList.get(indexOf1DList),而不是将其存储在变量中。
标签: java string list arraylist