【发布时间】:2019-07-06 03:16:38
【问题描述】:
我有一个像这样的集合:
List<List<Object>> firstList
我想将一个类似的模式列表组合在一起:
List<List<Object>> secondList
但按索引分组。
说
firstList [1]:
0 = {Object A}"
1 = {Object B}"
2 = {Object C}"
firstList [2]:
0 = {Object A}"
1 = {Object B}"
2 = {Object C}"
我想将此集合分组为
secondList [1]:
0 = {Object A}"
1 = {Object A}"
secondList [2]:
0 = {Object B}"
1 = {Object B}"
secondList [3]:
0 = {Object C}"
1 = {Object C}"
到目前为止我尝试过的是
for (int i = 0; i <firstList.size() ; i++) {
List<Object> list = firstList.get(i);
List<Object> rlPr = new ArrayList<>();
for (int j = 0; j <list.size()-1; j++) {
rlPr.add(list.get(i));
}
secondList.add(rlPr);
}
但我没有得到预期的结果。 我正在使用 java 8。
编辑:所有列表的大小都相同
【问题讨论】:
-
@michael 正确。那是一个错字。我已经更正了。谢谢!
-
尝试使用具有索引作为键的
Map<Integer, List<Object>>,并在解析源列表后从地图中获取值 -
所以你不想“按索引分组”,而是按项目分组?您似乎正在丢弃原始索引,并多次维护同一个对象。
标签: java loops collections java-8 iteration