[Resolvido]Sugestão de uso

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. :slight_smile:

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 :slight_smile: Eu estava ratiando, lançando uma exceção dentro do escopo do for onde estava inserido este while. :slight_smile: