java 8 lambda表达式list操作 分组、排序

java 8 提供的lambda表达式提供了一些对list 的便捷操作,包括分组、排序等。

分组

  //分组
  Map<String, List<User>> groupBySex = userList.stream().collect(Collectors.groupingBy(User::getSex));
  //遍历分组
  for (Map.Entry<String, List<User>> entryUser : groupBySex.entrySet()) {
    String key = entryUser.getKey();
    List<User> entryUserList = entryUser.getValue();
  }

排序

  recordList.sort(Comparator.comparingInt(UserOperationRecord::getRequestTime));
  //排序
  //单字段排序,根据id排序
  userList.sort(Comparator.comparing(User::getId));
  //多字段排序,根据id,年龄排序
  userList.sort(Comparator.comparing(User::getId).thenComparing(User::getAge));

你可能感兴趣的:(java)