Manipulação de DTO Spring Boot

Alguém para me ajudar com Spring Boot?

Tenho a seguinte entidade (omiti as anotações pra ficar mais fácil de visualizar):

public class Registro {
	
	private String idReg;
	private String data;
	private String horario;
}

Que gera o seguinte Json quando cria um registro (são muitos registros associados a um usuário):

"registros": [
      {
        "idReg": 1,
        "data": "01/07/2022",
        "horario": "09:00:00"
      },
      {
        "idReg": 2,
        "data": "01/07/2022",
        "horario": "10:30:00"
      }
      {
        "idReg": 3,
        "data": "01/07/2022",
        "horario": "14:30:00"
      }

Porém, para uma tabela que vou ter no front, preciso que os horários fiquem agrupados por data, algo assim:

 "registros": [
      {
        "data": "01/07/2022",
        "horarios": [
             "09:00:00",
             "10:30:00",
             "14:30:00"
          ]
     }
    {
        "data": "02/07/2022",
        "horarios": [
             "08:00:00",
             "10:30:00",
             "15:00:00"
          ]
     }
  ]

Criei esse DTO:

public class RegistroDTO {

    private String data;
    private ArrayList<String> horarios;
}

E estou tentando usar stream(), com map() e filter() para preencher essa List de horarios, mas não consigo ir muito longe, já estou cansando. Será que tem um jeito mais simples?

Posta o código da forma como vc está usando o stream pra gente ver.