package practise;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Demo2 {
public static void main(String[] args) {
//获取数据
String userStr0 = "10001:张三:男:1990-01-01#" +
"10002:李四:女:1989-01-09#" +
"10003:王五:男:1999-09-09#" +
"10004:刘备:男:1899-01-01#" +
"10005:孙悟空:男:1900-01-01#" +
"10006:张三:女:1999-01-01#"+
"10007:刘备:女:1999-01-01#"+
"10008:张三:女:2003-07-01#"+
"10009:猪八戒:男:1900-01-01";
//1.把数据拿到程序中来
String userStrs = userStr0;
System.out.println(userStrs);
//2.定义一个用户类
//3.提前定义一个List<User>集合用于存储用户对象
List<User> users = new ArrayList<>();
//4.把用户的全部数据,用#分割
String[] userStrArray = userStrs.split("#");
//5.创建一个用户对象,并封装这个数据 user = "10001:张三:男:1990-01-01"
for (String userStr : userStrArray) {
User user = new User();
String[] userData = userStr.split(":");
user.setId(Long.valueOf(userData[0]));
user.setName(userData[1]);
user.setGener(userData[2]);
user.setBirthday(LocalDate.parse(userData[3]));
//6.把这个用户对象添加到集合中
users.add(user);
}
System.out.println(users);
System.out.println("----------------");
//7.遍历List集合里的每个用户对象,统计相同名字出现的次数
Map<String,Integer> result = new HashMap<>();
for (User user : users) {
String name = user.getName();
if(result.containsKey(name)){
result.put(name,result.get(name) +1);
}else{
result.put(name,1);
}
}
//8.遍历Map集合
result.forEach((k,v) -> {
System.out.println(k + ":" + v + "次");
});
}
}
输出结果
10001:张三:男:1990-01-01#10002:李四:女:1989-01-09#10003:王五:男:1999-09-09#10004:刘备:男:1899-01-01#10005:孙悟空:男:1900-01-01#10006:张三:女:1999-01-01#10007:刘备:女:1999-01-01#10008:张三:女:2003-07-01#10009:猪八戒:男:1900-01-01
[User{id=10001, name='张三', gener='男', birthday=1990-01-01}, User{id=10002, name='李四', gener='女', birthday=1989-01-09}, User{id=10003, name='王五', gener='男', birthday=1999-09-09}, User{id=10004, name='刘备', gener='男', birthday=1899-01-01}, User{id=10005, name='孙悟空', gener='男', birthday=1900-01-01}, User{id=10006, name='张三', gener='女', birthday=1999-01-01}, User{id=10007, name='刘备', gener='女', birthday=1999-01-01}, User{id=10008, name='张三', gener='女', birthday=2003-07-01}, User{id=10009, name='猪八戒', gener='男', birthday=1900-01-01}]
----------------
李四:1次
张三:3次
刘备:2次
王五:1次
孙悟空:1次
猪八戒:1次