算法 分割字符串为实体类

题目

在这里插入图片描述

String userData = "10000:张三:男:1998-01-01#10001:张三:男:1998-01-01#10002:李四:女:1999-02-02#10003:王五:男:2000-03-03#10004:赵六:女:2001-04-04";
String[] usersArray = userData.split("#");
// 使用Stream API将字符串数组转换为SysUser对象数组
List<SysUser> users = new ArrayList<>();
Arrays.stream(usersArray).forEach(user -> {
    String[] userArray = user.split(":");
    // date format
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    SysUser sysUser = new SysUser(userArray[0], userArray[1], userArray[2], formatter.parse(userArray[3], LocalDate::from));
    users.add(sysUser);
});
// 打印输出
users.forEach(System.out::println);

// 获取每个名字各自的数量 使用Map封装
Map<String, Long> idCountMap = users.stream().collect(Collectors.groupingBy(SysUser::getName, Collectors.counting()));
System.out.println(idCountMap);

User类

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class SysUser {
    private String id;
    private String name;
    private String gender;
    private LocalDate birthday;
}

相关推荐

  1. 模拟实现字符串转化整形

    2024-04-11 17:34:04       36 阅读
  2. 算法作业】最少分割回文字符串,开设分公司

    2024-04-11 17:34:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-11 17:34:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-11 17:34:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-11 17:34:04       82 阅读
  4. Python语言-面向对象

    2024-04-11 17:34:04       91 阅读

热门阅读

  1. Quarkus初探

    2024-04-11 17:34:04       38 阅读
  2. [C++][算法基础]走迷宫(BFS)

    2024-04-11 17:34:04       35 阅读
  3. ubuntu添加固定路由

    2024-04-11 17:34:04       38 阅读
  4. C++:重载函数

    2024-04-11 17:34:04       34 阅读
  5. 2024-04-07 问AI: 在深度学习中,预训练是什么?

    2024-04-11 17:34:04       41 阅读
  6. wow-type文件说明

    2024-04-11 17:34:04       38 阅读
  7. OpenGL着色器实现纹理合并显示

    2024-04-11 17:34:04       30 阅读