基础数据:
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String name;
private int age;
private String sex;
private String city;
private Integer money;
static List<User> users = new ArrayList<>();
public static void main(String[] args) {
test1();
}
public static void test1(){
users.add(new User("诺手",21,"男","北京",1200));
users.add(new User("佛爷个",21,"男","北京",2100));
users.add(new User("刀妹",23,"女","上海",3200));
users.add(new User("海哥2",30,"女","上海",2600));
users.add(new User("压缩",21,"男","苏州",2800));
users.add(new User("马儿扎哈",21,"男","苏州",1500));
users.add(new User("螳螂",30,"女","杭州",2560));
users.add(new User("狮子狗",21,"男","杭州",2780));
users.add(new User("赵信",21,"男","成都",1890));
}
}
练习一 : 根据城市分组,代码如下:
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String name;
private int age;
private String sex;
private String city;
private Integer money;
static List<User> users = new ArrayList<>();
public static void main(String[] args) {
test1();
test2{}
}
public static void test1(){
users.add(new User("诺手",21,"男","北京",1200));
users.add(new User("佛爷个",21,"男","北京",2100));
users.add(new User("刀妹",23,"女","上海",3200));
users.add(new User("海哥2",30,"女","上海",2600));
users.add(new User("压缩",21,"男","苏州",2800));
users.add(new User("马儿扎哈",21,"男","苏州",1500));
users.add(new User("螳螂",30,"女","杭州",2560));
users.add(new User("狮子狗",21,"男","杭州",2780));
users.add(new User("赵信",21,"男","成都",1890));
}
//根据城市分组
public static void test2(){
Map<String,List<User>> collect=users.stream().collect(Collectors.groupingBy(User::getCity));
collect.forEach((k,v)->{
System.out.println("城市名:"+k);
System.out.println(v);
});
}
}
运行结果如下:
练习二:列出每个城市的最有钱的
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String name;
private int age;
private String sex;
private String city;
private Integer money;
static List<User> users = new ArrayList<>();
public static