Rozhraní Java Set

V tomto tutoriálu se dozvíme o rozhraní Set v Javě a jeho metodách.

SetRozhraní Java Collectionsrámce poskytuje funkce matematické sady v Javě. Rozšiřuje Collectionrozhraní.

Na rozdíl od Listrozhraní nemohou sady obsahovat duplicitní prvky.

Třídy, které implementují Set

Protože Setje to rozhraní, nemůžeme z něj vytvářet objekty.

Abychom mohli používat funkce Setrozhraní, můžeme použít tyto třídy:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • Sada stromů

Tyto třídy jsou definovány v Collectionsrámci a implementují Setrozhraní.

Rozhraní, která rozšiřují Set

SetRozhraní je také rozšířena těmito podrozhraní:

  • Seted set
  • NavigableSet

Jak používat Set?

V Javě musíme java.util.Setpro použití importovat balíček Set.

 // Set implementation using HashSet Set animals = new HashSet(); 

Zde jsme vytvořili Setzvaná zvířata. HashSetTřídu jsme použili k implementaci Setrozhraní.

Metody setu

SetRozhraní zahrnuje všechny metody Collectionrozhraní. Je to proto, že Collectionje to super rozhraní Set.

Některé z běžně používaných metod Collectionrozhraní, které je také k dispozici v Setrozhraní, jsou:

  • add () - přidá zadaný prvek do sady
  • addAll () - přidá do sady všechny prvky určené kolekce
  • iterator () - vrací iterátor, který lze použít k postupnému přístupu k prvkům sady
  • remove () - odstraní zadaný prvek ze sady
  • removeAll () - odstraní všechny prvky ze sady, která je přítomna v jiné určené sadě
  • keepAll () - zachová všechny prvky v sadě, které jsou také přítomny v jiné určené sadě
  • clear () - odstraní všechny prvky ze sady
  • size () - vrací délku (počet prvků) sady
  • toArray () - vrátí pole obsahující všechny prvky sady
  • contains () - vrátí, truepokud sada obsahuje zadaný prvek
  • containsAll () - vrátí se, truepokud sada obsahuje všechny prvky určené kolekce
  • hashCode () - vrací hodnotu hash kódu (adresa prvku v sadě)

Chcete-li se dozvědět více metod Setrozhraní, navštivte Java Set (oficiální dokumentace Java).

Nastavit operace

Rozhraní Java Setnám umožňuje provádět základní operace matematické množiny, jako je sjednocení, průnik a podmnožina.

  • Union - získat sjednocení dvou množin X a Y, můžeme použítx.addAll(y)
  • Průnik - abychom získali průnik dvou množin xay, můžeme použítx.retainAll(y)
  • Subset - pro kontrolu, zda x je podmnožinou y, můžeme použíty.containsAll(x)

Implementace nastaveného rozhraní

1. Implementace třídy HashSet

 import java.util.Set; import java.util.HashSet; class Main ( public static void main(String() args) ( // Creating a set using the HashSet class Set set1 = new HashSet(); // Add elements to the set1 set1.add(2); set1.add(3); System.out.println("Set1: " + set1); // Creating another set using the HashSet class Set set2 = new HashSet(); // Add elements set2.add(1); set2.add(2); System.out.println("Set2: " + set2); // Union of two sets set2.addAll(set1); System.out.println("Union is: " + set2); ) ) 

Výstup

 Set1: (2, 3) Set2: (1, 2) Union is: (1, 2, 3) 

Chcete-li se dozvědět více o HashSet, navštivte Java HashSet.

2. Implementace třídy TreeSet

 import java.util.Set; import java.util.TreeSet; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating a set using the TreeSet class Set numbers = new TreeSet(); // Add elements to the set numbers.add(2); numbers.add(3); numbers.add(1); System.out.println("Set using TreeSet: " + numbers); // Access Elements using iterator() System.out.print("Accessing elements using iterator(): "); Iterator iterate = numbers.iterator(); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) ) 

Výstup

 Nastavit pomocí TreeSet: (1, 2, 3) Přístup k prvkům pomocí iterátoru (): 1, 2, 3, 

Chcete-li se dozvědět více TreeSet, navštivte Java TreeSet.

Teď, když víme, co Setznamená, že budeme vidět jeho implementace ve třídách, jako EnumSet, HashSet, LinkedHashSeta TreeSetv dalších cvičeních.

Zajímavé články...