Como fazer essa lógica?

Olá a todos.

Estou com dificuldade em fazer uma lógica aqui no Java. Eu faço uma consulta no banco e monto algumas entidades ResultQueryCamerasOffline, e adiciono elas numa lista:

ResultSet rs = preparedStatement.executeQuery();
List<ResultQueryCamerasOffline> resultList = new ArrayList<>();
while (rs.next()) {
    resultList.add(new ResultQueryCamerasOffline(rs));
}

Ao printar essa lista, é possivel ver o resultado:

 resultList.forEach(System.out::println);


ResultQueryCamerasOffline{idEmpresa=1, empresaCor='#e8280d', empresaIdioma='pt-br', empresaUrl='null', empresaTelefone='555555555', empresaContato='', empresaDescricao='EMPRESA', idCamera=69420, ativarReporteCameraOffline=1, tempoReporteCameraOffline=60, lastOnline=2020-02-16 03:01:45.0, tempoOffline=7506.783, nomeCamera='Cam 1'}

Todos os elementos nesse mesmo formato. O que eu gostaria de fazer é adicionar todos os nomes de câmeras pertencentes a uma empresa em uma lista só. Estou tentando enviar um email para a empresa com o nome das cameras que estão reportando como offline. Mas estou tendo dificuldades para criar essa lógica.

Pensei em criar uma classe que contém dois atributos: um id da empresa e uma lista de strings. Mas me perdi na hora de “controlar” isso: como ir adicionando os elementos nessa classe que ficará dentro de uma lista (pois podem existir mais de uma empresa vindo nessa consulta).

Qualquer dica será de muito valor, obg!

1 - Cria um laço para varrer cada posição do resultList;
2 - Armazena cada elemento em um array auxiliar de 13 posições;
3 - Armazena em um list de resultado o id e o nome da camera desse array;
4 - Le a nova posição do resultList e armazena em outro array auxiliar;
5 - Compara se o id é igual ao id anteriormente armazenado,
se for, armazena no list de resultado.