Java 如何将一个ArrayList(第一层)添加到另一个ArrayList(第二层),但在每次添加过程中,第一层ArrayList的大小会有所不同

Java 如何将一个ArrayList(第一层)添加到另一个ArrayList(第二层),但在每次添加过程中,第一层ArrayList的大小会有所不同,java,Java,[苹果、奶酪、鸡蛋、茶、奶酪、茶、苹果、奶酪、果汁、辣椒、茶、苹果、奶酪、奶酪、辣椒、菠菜、茶、苹果、奶酪、辣椒、茶、苹果、辣椒、茶、鸡蛋、辣椒、茶、苹果、奶酪、辣椒、茶、奶酪、鸡蛋、菠菜、苹果、菠菜、奶酪、菠菜、茶、奶酪、辣椒、茶]-ArrayList项目 [4,2,5,2,5,1,3,3,3,4,3,2,3,3]-数组列表编号 我上面有两个独立的数组列表。我想在临时arraylist中添加4个单词,然后将临时arraylist添加到永久arraylist中的一个位置。这将是一个2D阵列列表。

[苹果、奶酪、鸡蛋、茶、奶酪、茶、苹果、奶酪、果汁、辣椒、茶、苹果、奶酪、奶酪、辣椒、菠菜、茶、苹果、奶酪、辣椒、茶、苹果、辣椒、茶、鸡蛋、辣椒、茶、苹果、奶酪、辣椒、茶、奶酪、鸡蛋、菠菜、苹果、菠菜、奶酪、菠菜、茶、奶酪、辣椒、茶]-ArrayList项目

[4,2,5,2,5,1,3,3,3,4,3,2,3,3]-数组列表编号

我上面有两个独立的数组列表。我想在临时arraylist中添加4个单词,然后将临时arraylist添加到永久arraylist中的一个位置。这将是一个2D阵列列表。 这将是一次迭代,然后我想在临时arraylist中再添加两个单词,然后将临时添加到永久arraylist中的第二个位置。。。等等

我的方法返回一个名为ListoItems的2d arraylist,该方法接受两个参数,项目的arraylist(称为items)和数字的arraylist(称为numbers)

int itemsIndex=0;
整数指数=0;
对于(int i=0;i
也许是这样的

List items=List.of(
“苹果”、“奶酪”、“鸡蛋”、“茶”、“奶酪”、“茶”、“苹果”、“奶酪”,
“果汁”、“辣椒”、“茶”、“苹果”、“奶酪”、“苹果”、“奶酪”,
“辣椒”、“菠菜”、“茶”、“苹果”、“奶酪”、“辣椒”、“茶”,
“苹果”、“辣椒”、“茶”、“鸡蛋”、“辣椒”、“茶”、“苹果”,
“奶酪”、“辣椒”、“茶”、“奶酪”、“鸡蛋”、“菠菜”、“苹果”,
“菠菜”、“奶酪”、“菠菜”、“茶”、“奶酪”、“辣椒”、“茶”);
列表编号=列表编号(4,2,5,2,5,1,3,3,3,4,3,2,3,3,3);
int start=0;
列表=新的ArrayList();
用于(整数结束:数字){
添加(新的ArrayList(items.subList(start,start+end));
开始+=结束;
}
list.forEach(System.out::println);
注意,这假定数字列表的总和等于项目列表的大小。

也许是这样的

List items=List.of(
“苹果”、“奶酪”、“鸡蛋”、“茶”、“奶酪”、“茶”、“苹果”、“奶酪”,
“果汁”、“辣椒”、“茶”、“苹果”、“奶酪”、“苹果”、“奶酪”,
“辣椒”、“菠菜”、“茶”、“苹果”、“奶酪”、“辣椒”、“茶”,
“苹果”、“辣椒”、“茶”、“鸡蛋”、“辣椒”、“茶”、“苹果”,
“奶酪”、“辣椒”、“茶”、“奶酪”、“鸡蛋”、“菠菜”、“苹果”,
“菠菜”、“奶酪”、“菠菜”、“茶”、“奶酪”、“辣椒”、“茶”);
列表编号=列表编号(4,2,5,2,5,1,3,3,3,4,3,2,3,3,3);
int start=0;
列表=新的ArrayList();
用于(整数结束:数字){
添加(新的ArrayList(items.subList(start,start+end));
开始+=结束;
}
list.forEach(System.out::println);
注意,这假定数字列表的总和等于项目列表的大小。

我建议您在您的问题中添加一些其他前提,关于此列表的使用位置以及您正在寻找的java版本。您的问题可能重复,并且已经用可能重复的回答了。我建议您在您的问题中添加一些其他前提,关于此列表的使用位置以及您正在寻找的java版本。你的问题可能是重复的,并且已经用可能的重复答案回答了
    int itemsIndex = 0;
    int numbersIndex = 0;
    for (int i = 0; i < items.size(); i++) {
        if (itemsIndex == numbers.get(numbersIndex)) {
            ListOfItems.add(itemSet);
            itemSet.clear();
            numbersIndex++;
        } else if (itemsIndex != numbers.get(numbersIndex)) {
            itemSet.add(items.get(itemsIndex));
            itemsIndex++;
        }
    }
    return ListOfItems;