Tengo tres clases de objetos:
public class Section{
private Integer id;
private List<Program> programs;
}
public class Program{
private String title;
private Integer id;
private List<Broadcast> broadcasts = null;
}
public class Broadcast {
private Integer id;
private String title;
}
Y tengo dos listas de objetos Sección: List<Section> oldSections
y List<Section> newSections
. Necesito verificar si oldSections
contiene todas las Secciones de la newSections
lista, para determinar esto tengo que comparar los valores de identificación. si no es así, necesito agregar esta Sección a las Secciones antiguas y si lo hace, entonces tengo que hacer la misma verificación para Programas y Difusiones.
Traté de iterar a través de todas las secciones, programas y transmisiones, pero no parece ser una buena solución. ¿Cuál sería el mejor enfoque?
private void updateSections(List<Section> oldSections, List<Section> newSections){
for(Section newSection: newSections){
boolean alreadyAdded = false;
for(Section oldSection: oldSections){
if(newSection.getId() == oldSection.getId()){
alreadyAdded = true;
}
}
if(!alreadyAdded){
oldSections.add(newSection);
} else {
//HERE I HAVE TO COMPARE PROGRAMS AND THEN BROADCASTS
}
}
}
Un conjunto es una lista que puede ayudarlo a evitar duplicados.
Simplemente puede anular los métodos equals y hashCode de su objeto Java Bean / POJO y usar set. De esta forma, se rechazará una entrada duplicada y ya no tendrá que fusionar sus datos. Los elementos de tu lista son siempre únicos.
Eche un vistazo a este hilo para ver cómo implementar Set en java -> Verifique que haya una combinación de cadena única
Quiero ejecutar pruebas de selenio desde TeamCity usando Maven en el servidor Linux sin pantalla. Mientras ejecuto las pruebas de Selenium, recibo el siguiente error en TeamCity: no se pudo ejecutar el objetivo org.codehaus ...
Por favor, considere la clase de prueba de Java a continuación. ¿Por qué el método test2 () se compila correctamente, pero test1 () no? import java.util.Arrays; import java.util.List; Prueba de clase pública {public <N ...
Tengo un problema al almacenar algunos valores de caracteres especiales en db. Por ejemplo, si estoy agregando los siguientes valores a cualquier cuadro de texto, Езикова abc está almacenando los valores como ??????? abc dentro de db. Yo tengo ...
Estoy convirtiendo una base de código existente para construir a través de Maven. Configuré mis dependencias correctamente, pero Maven en realidad incluye todos los archivos de dependencias compilados en el jar resultante. Quiero poder ...