ciao!
creo due ArrayList di questo tipo eseguendo query su db diversi:
devo unire queste due liste, ma levando i duplicati.codice:@Setter @Getter @AllArgsConstructor public class Timesheet { Integer idTimeSheet; Timestamp dataOraInizio; Timestamp dataOraFine; Integer minLvaorate; }
i duplicati li devo trovare in base al campo idTimeSheet.
come posso fare?
questo il codice in cui riempio le liste:
ho provato a cercare in giro, ma ho trovato parecchi esempi in cui restituiscono nuovi ArrayList di stringhe/int.codice:MapSqlParameterSource mapSqlParameterSource = new MapSqlParameterSource(); mapSqlParameterSource.addValue("id", idProgetto); String queryOld = "SELECT * FROM Timesheet " + "INNER JOIN Progetto ON idProgetto = Timesheet.codProgetto " + "WHERE Timesheet.codProgetto = :id"; List<Timesheet> listOld = jdbcTemplate.query( queryOld, mapSqlParameterSource, (rs, rowNum) -> new Timesheet( rs.getInt("idTimeSheet"), rs.getTimestamp("DataOraInizio"), rs.getTimestamp("DataOraFine"), rs.getInt("MinLavorate") ) ); String queryNew = "SELECT * FROM timesheets " + "INNER JOIN ps_progetto_sede ON id_sede = cod_sede_progetto " + "WHERE id_progetto = :id"; List<Timesheet> listNew = mysqlTemplate.query( queryNew, mapSqlParameterSource, (rs, rowNum) -> new Timesheet( rs.getInt("id_timesheet_old"), null, null, 0 ) ); // UNIRE LISTE SENZA DUPLICATI
oppure partono dal presupposto di avere ArrayList con oggetti "semplici" e non custom come nel mio caso.

Rispondi quotando