fork download
  1. import java.time.LocalDateTime;
  2. import java.time.format.DateTimeFormatter;
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.stream.Collectors;
  6.  
  7. class Ideone {
  8. private static final DateTimeFormatter FORMATTER =
  9. DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  10.  
  11. public static void main(String[] args) {
  12. List<X> list = List.of(
  13. new X(LocalDateTime.parse("2022-01-01 01:00:00", FORMATTER)),
  14. new X(LocalDateTime.parse("2022-01-01 01:01:00", FORMATTER)),
  15. new X(LocalDateTime.parse("2022-01-01 02:00:00", FORMATTER)),
  16. new X(LocalDateTime.parse("2022-01-01 03:00:00", FORMATTER)));
  17. Map<Integer, List<X>> map = list.stream()
  18. .collect(Collectors.groupingBy(x -> x.getT().getHour()));
  19. System.out.println(map);
  20. }
  21. }
  22.  
  23. class X {
  24. private final LocalDateTime t;
  25.  
  26. public X(LocalDateTime t) {
  27. this.t = t;
  28. }
  29.  
  30. public LocalDateTime getT() {
  31. return t;
  32. }
  33.  
  34. @Override
  35. public String toString() {
  36. return "X{t=" + t + '}';
  37. }
  38. }
Success #stdin #stdout 0.16s 54112KB
stdin
Standard input is empty
stdout
{1=[X{t=2022-01-01T01:00}, X{t=2022-01-01T01:01}], 2=[X{t=2022-01-01T02:00}], 3=[X{t=2022-01-01T03:00}]}