ArrayList实现多组输入
时间: 2023-03-28 09:02:01 浏览: 58
可以使用循环来实现多组输入,每次输入后将数据存入ArrayList中即可。具体实现可以参考以下代码:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<>();
while (scanner.hasNext()) {
int num = scanner.nextInt();
list.add(num);
}
System.out.println(list);
}
}
以上代码可以实现多组输入,并将输入的数据存入ArrayList中,最后输出ArrayList中的所有数据。
相关问题
java如何将多组数据循环储存到ArrayList数组中
可以使用 for 循环嵌套来读取多组数据,并将每组数据添加到 ArrayList 中。
例如,假设输入的多组数据每组包含两个整数,可以按照以下方式实现:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<int[]> dataList = new ArrayList<>();
int n = scanner.nextInt(); // 输入数据组数
for (int i = 0; i < n; i++) {
int[] data = new int[2];
for (int j = 0; j < 2; j++) {
data[j] = scanner.nextInt(); // 读取一组数据
}
dataList.add(data); // 将数据添加到 ArrayList 中
}
// 输出 ArrayList 中的数据
for (int[] data : dataList) {
System.out.println(data[0] + " " + data[1]);
}
}
}
```
在上面的代码中,我们首先使用 Scanner 读取输入的数据组数 n,然后使用 for 循环嵌套来读取每组数据,并将每组数据添加到 ArrayList 中。最后,我们遍历 ArrayList,输出其中的数据。
java 实现n个数组排列组合
要实现n个数组的排列组合,可以使用递归算法。
首先,我们定义一个函数,输入参数为n个数组和一个空的结果列表。函数的作用是将n个数组进行排列组合,并将所有组合的结果保存在结果列表中。
然后,在函数中,我们使用两个循环嵌套来对数组进行排列组合。外层循环用于遍历数组的第一个元素,内层循环用于遍历其余n-1个数组的所有可能组合。
在内层循环中,我们将当前数组的第一个元素与剩余n-1个数组的所有可能组合拼接成新的组合,并递归调用函数。递归调用的参数为剩余的n-1个数组和拼接后的结果列表。
当递归调用的参数数组为空时,表示已经排列组合完成,将结果列表保存到最终的结果集中。
最后,返回最终的结果集。
下面是一个具体实现的示例代码:
```java
import java.util.ArrayList;
import java.util.List;
public class PermutationCombination {
public static void main(String[] args) {
int[][] arrays = {{1, 2, 3}, {4, 5}, {6, 7, 8}};
List<List<Integer>> result = new ArrayList<>();
permutationCombination(arrays, new ArrayList<>(), result);
System.out.println(result);
}
private static void permutationCombination(int[][] arrays, List<Integer> current, List<List<Integer>> result) {
if (arrays.length == 0) {
result.add(new ArrayList<>(current));
return;
}
for (int i = 0; i < arrays[0].length; i++) {
current.add(arrays[0][i]);
int[][] remaining = new int[arrays.length - 1][];
for (int j = 1; j < arrays.length; j++) {
remaining[j - 1] = arrays[j];
}
permutationCombination(remaining, current, result);
current.remove(current.size() - 1);
}
}
}
```
运行上述代码,输出结果为:
[[1, 4, 6], [1, 4, 7], [1, 4, 8], [1, 5, 6], [1, 5, 7], [1, 5, 8], [2, 4, 6], [2, 4, 7], [2, 4, 8], [2, 5, 6], [2, 5, 7], [2, 5, 8], [3, 4, 6], [3, 4, 7], [3, 4, 8], [3, 5, 6], [3, 5, 7], [3, 5, 8]]
以上代码实现了将3个数组进行排列组合的功能,你可以根据需要修改输入数组的个数来实现任意个数组的排列组合。