java List<T> 横转纵
时间: 2023-07-08 15:26:11 浏览: 133
横向listview
将Java中的List对象横向转换为纵向,可以使用Java的Stream API和Collectors工具类。具体步骤如下:
1. 假设有一个横向的List对象aList,其中包含n个元素,每个元素也是一个List。
2. 使用Stream API的flatMap方法将aList转换为一个Stream对象,其中每个元素是aList中所有List的第i个元素,i从0到n-1。
3. 使用Collectors工具类的toList方法将Stream对象转换为一个纵向的List对象。
示例代码如下:
```java
List<List<Integer>> aList = Arrays.asList(
Arrays.asList(1, 2, 3),
Arrays.asList(4, 5, 6),
Arrays.asList(7, 8, 9)
);
List<List<Integer>> transposedList = IntStream.range(0, aList.get(0).size())
.mapToObj(i -> aList.stream().map(row -> row.get(i)).collect(Collectors.toList()))
.collect(Collectors.toList());
System.out.println(transposedList);
```
输出结果为:
```
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
```
阅读全文