数组转集合得到list<int[]>而不是List<int>
时间: 2023-05-14 07:05:32 浏览: 78
这可能是因为数组中的每个元素都是一个整数数组,而不是单个整数。如果您想将数组转换为List<int>,您需要遍历数组并将每个元素添加到List中。您可以使用Arrays.asList()方法将数组转换为List,但是这将返回一个List<int[]>,而不是List<int>。
相关问题
Java 二维数组转换为List<List<Integer>>
在Java中,将二维数组转换为`List<List<Integer>>`可以使用流(Stream) API以及`Collectors.toList()`方法。这里是一个简单的示例:
```java
int[][] twoDimensionalArray = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
List<List<Integer>> listOfLists = Arrays.stream(twoDimensionalArray)
.map(Arrays::stream)
.collect(Collectors.toList());
```
首先,使用`Arrays.stream(array)`将二维数组转换为一维流,然后对每个元素应用`Arrays::stream`将其内部元素也转换为流。最后,使用`collect(Collectors.toList())`将所有流收集到一个`List<List<Integer>>`中。
现在,`listOfLists`包含了原二维数组的所有元素,每一项都是一个包含原始数组内对应行数据的列表。
在这个函数public static List<Double> solveByGauss(int n, List<List<Double>> matrix)中写一段代码,将List<List<Double>> matrix转换为二维数组
public static List<Double> solveByGauss(int n, List<List<Double>> matrix) {
double[][] arr = new double[n][n+1];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n+1; j++) {
arr[i][j] = matrix.get(i).get(j);
}
}
// Gauss elimination algorithm implementation
// ...
List<Double> result = new ArrayList<>();
// ...
return result;
}
阅读全文