Interfejs zestawu Java

W tym samouczku dowiemy się o interfejsie Set w Javie i jego metodach.

SetInterfejs Java Collectionsramach udostępnia funkcje zestawu matematycznej w Javie. Rozszerza Collectioninterfejs.

W przeciwieństwie do Listinterfejsu zestawy nie mogą zawierać zduplikowanych elementów.

Klasy implementujące Set

Ponieważ Setjest to interfejs, nie możemy tworzyć z niego obiektów.

W celu wykorzystania funkcjonalności Setinterfejsu możemy skorzystać z następujących klas:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • TreeSet

Te klasy są zdefiniowane w Collectionsramach i implementują Setinterfejs.

Interfejsy rozszerzające Set

SetInterfejs jest również przedłużony o tych podinterfejsów:

  • SortedSet
  • NavigableSet

Jak korzystać z zestawu?

W Javie musimy zaimportować java.util.Setpakiet, aby użyć Set.

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

Tutaj stworzyliśmy Setnazwane zwierzęta. Użyliśmy tej HashSetklasy do zaimplementowania Setinterfejsu.

Metody ustawiania

SetInterfejs obejmuje wszystkie sposoby przez Collectioninterfejs. To dlatego, że Collectionjest super interfejsem Set.

Niektóre z powszechnie używanych metod Collectioninterfejsu, które są również dostępne w Setinterfejsie, to:

  • add () - dodaje określony element do zestawu
  • addAll () - dodaje wszystkie elementy określonej kolekcji do zestawu
  • iterator () - zwraca iterator, który może być użyty do sekwencyjnego dostępu do elementów zestawu
  • remove () - usuwa określony element z zestawu
  • removeAll () - usuwa wszystkie elementy z zestawu, który jest obecny w innym określonym zestawie
  • retainAll () - zachowuje wszystkie elementy w zestawie, które są również obecne w innym określonym zestawie
  • clear () - usuwa wszystkie elementy ze zbioru
  • size () - zwraca długość (liczbę elementów) zestawu
  • toArray () - zwraca tablicę zawierającą wszystkie elementy zestawu
  • zawiera () - zwraca, truejeśli zestaw zawiera określony element
  • zawieraAll () - zwraca, truejeśli zestaw zawiera wszystkie elementy określonej kolekcji
  • hashCode () - zwraca wartość kodu skrótu (adres elementu w zestawie)

Aby dowiedzieć się więcej o metodach Setinterfejsu, odwiedź Java Set (oficjalna dokumentacja Java).

Operacje na zbiorach

SetInterfejs Java umożliwia nam wykonywanie podstawowych operacji matematycznych, takich jak suma, przecięcie i podzbiór.

  • Suma - aby uzyskać sumę dwóch zbiorów x i y, możemy użyćx.addAll(y)
  • Przecięcie - aby otrzymać przecięcie dwóch zbiorów x i y, możemy użyćx.retainAll(y)
  • Podzbiór - aby sprawdzić, czy x jest podzbiorem y, możemy użyćy.containsAll(x)

Implementacja interfejsu zestawu

1. Implementacja klasy 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); ) ) 

Wynik

 Zestaw1: (2, 3) Zestaw2: (1, 2) Suma to: (1, 2, 3) 

Aby dowiedzieć się więcej HashSet, odwiedź witrynę Java HashSet.

2. Implementacja klasy 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(", "); ) ) ) 

Wynik

 Ustaw za pomocą TreeSet: (1, 2, 3) Dostęp do elementów za pomocą iteratora (): 1, 2, 3, 

Aby dowiedzieć się więcej TreeSet, odwiedź Java TreeSet.

Teraz, gdy wiemy, co Setjest, widzimy jego implementacje w klasach jak EnumSet, HashSet, LinkedHashSeta TreeSetw następnych ćwiczeń.

Interesujące artykuły...