Como visualizar um ou todos os elementos de um HashSet

4 respostas
A

Pessoal,
como faço para visualizar os elementos do hashset abaixo? se fosse um array, bastava um comando de saída e colocar a referência do array e o índice, mas como faço isso no hashset? Não encontrei nada no javadoc....

package set;

import java.util.HashSet;

public class TesteHashSet {

	public static void main(String[] args) {
		

		HashSet<String>itens=new HashSet<String>();
		
		itens.add("chocolate");
		itens.add("bala");
		itens.add("brigadeiro");
		

	}

}

4 Respostas

R

Tem que fazer um for:

for (String s : itens) {
            System.out.println(s);
        }

ou para ver todos em um mesma saída:

System.out.println(itens.toString());
A

Muito obrigado pela resposta, mas ainda resta uma dúvida:
Como faço para ver um item específico?
Pelo que entendi as duas formas me mostrarão todos os itens, é isso mesmo?

1 Abraço,

R

Item especifico, pela posição, por exemplo, não tem como. Mas você pode testar o valor armazenado quando fizer o for, por exemplo:

HashSet&lt;String&gt; itens = new HashSet&lt;String&gt;();

        itens.add("chocolate");
        itens.add("bala");
        itens.add("brigadeiro");
        
        String busca = "chocolate";

        for (String s : itens) {
            if (s.equals(busca)) {
                System.out.println(s);
            }
        }
L

O HashSet não te fornece a opção de acesso por índice. Se isso realmente for uma necessidade para você, o ideal seria utilizar uma List

Pro exemplo acima, mais fácil usar o contains()

HashSet<String> itens = new HashSet<>();

        itens.add("chocolate");
        itens.add("bala");
        itens.add("brigadeiro");
        
        String busca = "chocolate";

        if (itens.contains(busca)) {
            System.out.println(busca);
        }

Melhor do que iterar todo o HashSet pra encontrar um valor

Criado 2 de março de 2013
Ultima resposta 8 de mar. de 2013
Respostas 4
Participantes 3