Buenas!
Tenho uma rotina que a cada vez que encontrar determinada condição, precisa armazenar o valor que verificou essa condição. A minha dúvida é sobre o que usar. Já me sugeriram usar Hash, mas qual deles se encaixa melhor? Quem tiver uma sugestão para me passar, agradeço.
Um HashMap seria uma boa. Com ele, você pode utilizar, como chave, a condição e, como valor, o resultado.
O HashSet impede que você insira chaves duplicadas, o que, nesse caso, significa que você não poderá colocar a mesma condição duas vezes. Se você, por algum motivo, precisar colocar a mesma condição duas vezes, utilize um HashMap.
Se precisa associar um par chave->valor, use um Map.
[code]Map<Integer, String> alunos = new HashMap<Integer, String>();
alunos.put(1, “Ana”);
alunos.put(2, “Bernardo”);
alunos.put(3, “Bruna”);
alunos.put(10, “Vinícius”);
assert (alunos.get(3).equals(“Bruna”)); //True
assert (alunos.get(5) == null); //True
assert (alunos.contains(5)); //False[/code]
Se não precisa associar o par, talvez seja uma boa usar um set ou um list.
Valeu pessoal! Tou usando o HashSet, é bem nesse sentido o que eu precisava mesmo. Só que não tá funcionando direito, devo estar esquecendo algo. Se puderem dar uma olhada no trecho do código. Ele só tá adicionando a primeira condição verificada. :shock:
while (rsbor.next()) {
if (!rs.getString("ingNN").equals("") || borTitDados[i].ingCodigo == rsbor.getInt("ingCodigo")) {
System.out.println("Entrou");
bordBloq = true;
listaIng.add(new Integer(rsbor.getInt("ingCodigo")));
System.out.println("Adicionou");
}
}
Desconsiderem a última mensagem Eu estava ratiando, lançando uma exceção dentro do escopo do for onde estava inserido este while.