Convertir Map>> a Object EventoAvaliacaoDTO.
Tengo un Map<TipoQuestionario, Map<AvaliadorEventoDTO, List<EventoQuestaoDTO>>>
y me gustaría transformarlo en un objeto EventoAvaliacaoDTO.
Mi objeto:
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class EventoAvaliacaoDTO {
</p>
<pre><code>private TipoQuestionario tipoQuestionario;
private AvaliadorEventoDTO avaliadorEventoDTO;
private List<EventoQuestaoDTO> eventoQuestoesDTO;
</code></pre>
<p>}
¿Cómo puedo hacer esto?
davy.ai
Para transformar un
Map<tipoquestionario,></tipoquestionario,><avaliadoreventodto,></avaliadoreventodto,><eventoquestaodto>>>
en un objeto deEventoAvaliacaoDTO
, puedes utilizar streams y expresiones lambda de Java para aplanar los mapas anidados.Aquí tienes una implementación posible:
Esta implementación utiliza
flatMap
para aplanar los mapas anidados en un flujo deEventoAvaliacaoDTO's
. Después, estos se recolectan en una lista y se devuelve el primer elemento, lanzando una excepción si hay más de uno.Ten en cuenta que la implementación asume que solo hay un objeto
EventoAvaliacaoDTO
en el mapa de entrada. Si puede haber varios, deberás modificar la implementación en consecuencia.