Java HashSet
Java HashSet
Um HashSet é uma coleção de itens onde cada item é único, e é encontrado no java.util
pacote:
Exemplo
Crie um HashSet
objeto chamado cars que armazenará strings:
import java.util.HashSet; // Import the HashSet class
HashSet<String> cars = new HashSet<String>();
Adicionar itens
A HashSet
classe tem muitos métodos úteis. Por exemplo, para adicionar itens a ele, use o add()
método:
Exemplo
// Import the HashSet class
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<String> cars = new HashSet<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("BMW");
cars.add("Mazda");
System.out.println(cars);
}
}
Nota: No exemplo acima, mesmo que BMW seja adicionado duas vezes, ele aparece apenas uma vez no conjunto porque cada item em um conjunto deve ser único.
Verificar se existe um item
Para verificar se existe um item em um HashSet, use o contains()
método:
Exemplo
cars.contains("Mazda");
Remover um item
Para remover um item, use o remove()
método:
Exemplo
cars.remove("Volvo");
Para remover todos os itens, use o clear()
método:
Exemplo
cars.clear();
Tamanho do conjunto de hash
Para descobrir quantos itens existem, use o size
método:
Exemplo
cars.size();
Loop através de um HashSet
Faça um loop pelos itens de um HashSet
com um loop for-each :
Exemplo
for (String i : cars) {
System.out.println(i);
}
Outros tipos
Os itens em um HashSet são na verdade objetos. Nos exemplos acima, criamos itens (objetos) do tipo "String". Lembre-se que uma String em Java é um objeto (não um tipo primitivo). Para usar outros tipos, como int, você deve especificar uma classe wrapper equivalente : Integer
. Para outros tipos primitivos, use: Boolean
for boolean, Character
for char, Double
for double, etc:
Exemplo
Use um HashSet
que armazena Integer
objetos:
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// Create a HashSet object called numbers
HashSet<Integer> numbers = new HashSet<Integer>();
// Add values to the set
numbers.add(4);
numbers.add(7);
numbers.add(8);
// Show which numbers between 1 and 10 are in the set
for(int i = 1; i <= 10; i++) {
if(numbers.contains(i)) {
System.out.println(i + " was found in the set.");
} else {
System.out.println(i + " was not found in the set.");
}
}
}
}