将不固定数量个list<user>合并
时间: 2023-12-10 20:04:14 浏览: 26
可以使用Java 8的Stream API来合并不固定数量个List<User>。假设有一个List<List<User>>,内部的每个List<User>表示同一组用户,代码如下:
```java
List<List<User>> userList = new ArrayList<>();
// 添加三组用户
List<User> group1 = new ArrayList<>();
group1.add(new User("张三"));
group1.add(new User("李四"));
userList.add(group1);
List<User> group2 = new ArrayList<>();
group2.add(new User("王五"));
group2.add(new User("赵六"));
userList.add(group2);
List<User> group3 = new ArrayList<>();
group3.add(new User("钱七"));
userList.add(group3);
// 合并所有用户
List<User> result = userList.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
```
首先,我们使用Stream API的stream()方法将List<List<User>>转换成Stream<List<User>>。
然后,我们使用flatMap()方法将Stream<List<User>>中的每个List<User>转换成一个Stream<User>对象。
最后,我们使用collect()方法将所有的Stream<User>对象中的元素收集到一个List<User>对象中。
这样,就可以将不固定数量个List<User>合并成一个List<User>了。