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 HashSetobjekt 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 HashSetmá 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 sizemetodu:

Příklad

cars.size();


Smyčka přes HashSet

Procházejte položky HashSetpomocí 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: Booleanpro boolean, Characterpro char, Doublepro double atd.:

Příklad

Použijte a HashSet, které ukládá Integerobjekty:

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.");
      }
    }
  }
}