Java Collection Framework zawiera wiele interfejsów, z których jednym jest Set Interface. Ten artykuł zawiera szczegółowe wprowadzenie do Ustawień . Poniżej znajdują się wskazówki, które należy omówić w tym artykule:
Zestawy w Javie
Zestaw należy zdefiniować jako zbiór nieuporządkowanych elementów, w których nie można przechowywać zduplikowanych wartości. Rozszerza Collection, a tym samym wszystkie metody w są dostępne w interfejsie zestawu. Jest implementowany przez HashSet, LinkedHashSet lub TreeSort.
Każda z tych implementacji działa inaczej podczas iteracji zestawu, głównie w odniesieniu do kolejności elementów oraz czasu potrzebnego na wstawienie i dostęp do elementów.
- Hash Set tak nie daje żadnej gwarancji co do kolejności elementów podczas iteracji zestawu.
- LinkedHashSet z drugiej strony daje gwarancję kolejności elementów podczas ich iteracji.
- TreeSet zapewnia gwarancję, ale zbiór jest sortowany zgodnie z naturalną kolejnością lub przez określoną implementację komparatora.
Jak stworzyć zestaw?
Poniższy kod definiuje sposób tworzenia nowego zestawu:
Ustaw num = new HashSet ()
co to jest metoda javascript
Użyliśmy generyczne do zadeklarowania zestawu typu całkowitego.
Ustaw metody w Javie:
Na zbiorze możemy wykonać wiele operacji, takich jak:
Dodaj metodę
Metoda add wstawia element do . W poniższym kodzie wstawiamy zestaw nazw.
Ustaw strName = new HashSet () strName.add ('John') strName.add ('Doe') System.out.println (strName)
Wynik:
[Nieznany z nazwiska]
Usuń metodę
Ta metoda usuwa określony element z zestawu.
import java.util. * public class Main {public static void main (String args []) {// Tworzenie pustego zestawu set = new HashSet () // Dodawanie elementów do zestawu set.add ('John') set .add ('Doe') // Wyświetl zestaw System.out.println ('Set:' + set) // Usunięcie elementu „Doe” za pomocą metody remove () set.remove ('Doe') // Wyświetlanie zmodyfikowany zbiór System.out.println ('Set:' + set)}}
Wynik:
Zestaw: [John, Doe]
Zestaw: [John]
Metoda jest pusta
Ta metoda sprawdza, czy jest pusty nie jest. Zwraca true, jeśli zestaw jest pusty, lub false, jeśli jest inaczej.
import java.io. * import java.util. * public class Main {public static void main (String args []) {Set javaSet = new HashSet () // Dodawanie elementów do zestawu javaSet.add ('John') javaSet .add ('Doe') // Wyświetl zestaw System.out.println ('Set:' + javaSet) // Sprawdzanie, czy zestaw jest pusty System.out.println ('Empty Set:' + javaSet.isEmpty () ) // Czyszczenie zestawu za pomocą metody clear () javaSet.clear () // Sprawdzanie, czy zestaw jest pusty System.out.println ('Empty Set:' + javaSet.isEmpty ())}}
Wynik:
Zestaw: [John, Doe]
Pusty zestaw: fałsz
Pusty zestaw: prawda
Metoda rozmiaru
Metoda size () zwraca rozmiar zestawu, czyli liczbę elementów obecnych w zestawie.
import java.util. * public class Main {public static void main (String args []) {// Tworzenie zestawu Set set = new HashSet () set.add ('John') set.add ('Doe') System .out.println ('Set:' + set) // Wyświetlanie rozmiaru wysyłanego zestawu System.out.println ('Rozmiar zestawu:' + set.size ())}}
Wynik:
Zestaw: [John, Doe]
Rozmiar zestawu: 2
Iterowanie po zestawie
Możemy iterować po wszystkich elementach występujących w zestawie następującą metodą:
import java.util. * import java.util.HashSet public class Main {public static void main (String args []) {// Tworzenie zestawu HashSet HashSet javaSet = new HashSet () javaSet.add ('John') javaSet.add ('Doe') // Wyświetlanie zestawu System.out.println ('HashSet:' + javaSet) // Tworzenie iteratora Iterator itr = javaSet.iterator () // Wyświetlanie wartości po iteracji System.out.println (' Wartości iteratora: ') while (itr.hasNext ()) {System.out.println (itr.next ())}}}
Wynik:
HashSet: [John, Doe]
Wartości iteratora:
Jan
Robić
Wyszukiwanie w zestawie
Używamy metody zawiera (), aby określić, czy zestaw zawiera określony element. Zwraca wartość true, jeśli element zostanie znaleziony, lub false, jeśli jest inaczej.
import java.io. * import java.util.HashSet public class Main {public static void main (String args []) {// Tworzenie zestawu HashSet HashSet javaSet = new HashSet () javaSet.add ('John') javaSet.add ('Doe') // Wyświetlanie HashSet System.out.println ('HashSet:' + javaSet) // Sprawdzanie „John” w zbiorze System.out.println ('John in set:' + javaSet.contains ( 'John')) // Sprawdzanie 'Hazel' w zestawie System.out.println ('Hazel in set:' + javaSet.contains ('Hazel'))}}
Wynik:
HashSet: [John, Doe]
John w zestawie: prawda
Hazel w zestawie: fałsz
Podstawowe operacje na zestawach w Javie
- Unia: Aby dodać jeden zestaw do drugiego, używamy operacji Union
- Skrzyżowanie: Aby zachować wspólne wartości z obu zbiorów, używamy operacji przecięcia.
- Różnica: Aby usunąć wartości jednego zestawu, z drugiego zestawu, używana jest operacja różnicowa.
Przykład
import java.util. * public class Main {public static void main (String args []) {Set d = new HashSet () d.addAll (Arrays.asList (new Integer [] {3, 2, 1, 9, 6 , 4, 0})) Set e = new HashSet () e.addAll (Arrays.asList (new Integer [] {3, 1, 9, 5, 2, 0, 7,})) // Union Operation Set union = new HashSet (d) union.addAll (e) System.out.println ('Union:' + union) // Ustaw operację na przecięciu intersection = new HashSet (d) intersection.retainAll (e) System.out.println (' Intersection: '+ intersection) // Różnica Operacja Ustaw różnicę = nowa HashSet (d) różnica.removeAll (e) System.out.println (' Różnica: '+ różnica)}}
Wynik:
Suma: [0, 1, 2, 3, 4, 5, 6, 7, 9]
Skrzyżowanie: [0, 1, 2, 3, 9]
Różnica: [4, 6]
Metody i operacje wymienione w metodzie sprawiają, że zestaw interfejsów ma elementarny i wydajny charakter.
W ten sposób doszliśmy do końca artykułu „Zestawy w Javie”. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online. Szkolenie i certyfikacja J2EE i SOA firmy Edureka ma na celu przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w artykule „Zestawy w java”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.