Java HashSet
Java HashSet
HashSet je sbírka položek, kde je každá položka jedinečná a nachází se v java.util
balíčku:
Příklad
Vytvořte HashSet
objekt s názvem auta , který bude ukládat řetězce:
import java.util.HashSet; // Import the HashSet class
HashSet<String> cars = new HashSet<String>();
Přidat položky
Třída HashSet
má mnoho užitečných metod. Chcete-li do něj například přidat položky, použijte add()
metodu:
Příklad
// 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);
}
}
Poznámka: Ve výše uvedeném příkladu, i když je BMW přidáno dvakrát, objeví se v sadě pouze jednou, protože každá položka v sadě musí být jedinečná.
Zkontrolujte, zda položka existuje
Chcete-li zkontrolovat, zda položka existuje v HashSet, použijte contains()
metodu:
Příklad
cars.contains("Mazda");
Odebrat položku
Chcete-li odstranit položku, použijte remove()
metodu:
Příklad
cars.remove("Volvo");
Chcete-li odstranit všechny položky, použijte clear()
metodu:
Příklad
cars.clear();
Velikost hashSet
Chcete-li zjistit, kolik položek existuje, použijte size
metodu:
Příklad
cars.size();
Smyčka přes HashSet
Procházejte položky HashSet
pomocí smyčky pro každou :
Příklad
for (String i : cars) {
System.out.println(i);
}
Jiné typy
Položky v HashSet jsou ve skutečnosti objekty. Ve výše uvedených příkladech jsme vytvořili položky (objekty) typu "String". Pamatujte, že řetězec v Javě je objekt (ne primitivní typ). Chcete-li použít jiné typy, jako je int, musíte zadat ekvivalentní třídu obalu : Integer
. Pro ostatní primitivní typy použijte: Boolean
pro boolean, Character
pro char, Double
pro double atd.:
Příklad
Použijte a HashSet
, které ukládá Integer
objekty:
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.");
}
}
}
}