采购产品苹果,奶酪,鸡蛋,茶,奶酪,茶,苹果,奶酪,果汁,辣椒,茶,奶酪,苹果,奶酪,辣椒,菠菜,茶,苹果,奶酪,辣椒,茶,苹果,辣椒,茶,苹果,辣椒,茶,鸡蛋,辣椒,茶,苹果,奶酪,鸡蛋,辣椒,茶,奶酪,鸡蛋,鸡蛋,菠菜,苹果,菠菜,奶酪,菠菜,茶,奶酪,辣椒,茶,奶酪,辣椒,茶- ArrayList项目
4,2,5,2,5,1,3,3,3,4,3,2,3,3- ArrayList数
我在上面有两个独立的数组列表。我想将其中的4个单词添加到临时数组列表中,然后将该临时数组列表添加到永久数组列表中的一个点。所以这将是一个二维数组列表。这将是一次迭代,然后我想在临时数组列表中再添加2个单词,然后将临时数组添加到永久数组列表中的第二个点…诸若此类
我的方法返回一个名为ListOfItems的二维数组列表,该方法接受两个参数,项的数组列表(称为项)和数字的数组列表(称为数字)
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;发布于 2019-05-05 05:53:46
也许是这样的。
List<String> items = List.of(
"Apples", "Cheese", "Eggs", "Tea", "Cheese", "Tea", "Apples", "Cheese",
"Juice", "Peppers", "Tea", "Apples", "Cheese", "Apples", "Cheese",
"Peppers", "Spinach", "Tea", "Apples", "Cheese", "Peppers", "Tea",
"Apples", "Peppers", "Tea", "Eggs", "Peppers", "Tea", "Apples",
"Cheese", "Peppers", "Tea", "Cheese", "Eggs", "Spinach", "Apples",
"Spinach", "Cheese", "Spinach", "Tea", "Cheese", "Peppers", "Tea");
List<Integer> numbers = List.of(4, 2, 5, 2, 5, 1, 3, 3, 3, 4, 3, 2, 3, 3);
int start = 0;
List<List<String>> list = new ArrayList<>();
for (int end : numbers) {
list.add(new ArrayList<>(items.subList(start, start + end)));
start += end;
}
list.forEach(System.out::println);
Note that this presumes the sum of the numbers list equals the size of the items list.https://stackoverflow.com/questions/55986822
复制相似问题