基础示例类:
Use.java
public class User {
private String userId;
private String userName;
private Integer age;
private String region;
}
1.遍历List列表
List2.根据某个字段进行分组userList = new ArrayList<>(); userList.add(new User("1", "张三", 20, "上海")); userList.add(new User("2", "李四", 20, "北京")); userList.add(new User("3", "王五", 25, "上海")); userList.stream().forEach(user -> { // 操作 System.out.println(user.getUserName() + ":" + user.getAge() + ":" + user.getRegion()); }); // 与上面方法等同 userList.forEach(user -> { // 操作 System.out.println(user.getUserName() + ":" + user.getAge() + ":" + user.getRegion()); });
例如需要对User里统一地区的人进行分组
ListuserList = new ArrayList<>(); userList.add(new User("1", "张三", 20, "上海")); userList.add(new User("2", "李四", 20, "北京")); userList.add(new User("3", "王五", 25, "上海")); Map > collect = userList.stream().collect(Collectors.groupingBy(User::getRegion)); System.out.println(collect);
结果:
{
上海=[
User(userId=1, userName=张三, age=20, region=上海),
User(userId=3, userName=王五, age=25, region=上海)
],
北京=[
User(userId=2, userName=李四, age=20, region=北京)
]
}
3.将list里面某个字段合并成String并用,隔开
例如获取User列表所有用户姓名
ListuserList = new ArrayList<>(); userList.add(new User("1", "张三", 20, "上海")); userList.add(new User("2", "李四", 20, "北京")); userList.add(new User("3", "王五", 25, "上海")); String userNameStr = userList.stream().map(User::getUserName).collect(Collectors.joining(",")); System.out.println(userNameStr);
结果:
张三,李四,王五



