Java Set Arayüzü

Bu eğitimde, Java'da Set arayüzü ve yöntemleri hakkında bilgi edineceğiz.

SetJava arayüzü Collectionsçerçevesinde Java matematiksel setin özelliklerini sağlar. CollectionArayüzü genişletir .

ListArayüzden farklı olarak , setler yinelenen öğeler içeremez.

Set'i uygulayan sınıflar

Yana Setbir arayüz, biz ondan nesneler oluşturamazsınız.

SetArayüzün işlevlerini kullanmak için şu sınıfları kullanabiliriz:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • Ağaç Kümesi

Bu sınıflar Collectionsçerçevede tanımlanır ve Setarayüzü uygular .

Set'i genişleten arayüzler

SetArayüzü de bu subinterfaces uzatılır:

  • SortedSet
  • NavigableSet

Set nasıl kullanılır?

Java'da java.util.Setkullanmak için paketi içe aktarmalıyız Set.

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

Burada, Setdenilen bir hayvan yarattık . Arayüzü HashSetuygulamak için sınıfı kullandık Set.

Set Yöntemleri

SetArayüzü tüm yöntemleri kapsamaktadır Collectionarayüz. Çünkü Collectionsüper bir arayüz Set.

CollectionArabirimin yaygın olarak kullanılan yöntemlerinden bazıları arabirimde de mevcuttur Set:

  • add () - belirtilen elemanı sete ekler
  • addAll () - belirtilen koleksiyonun tüm öğelerini kümeye ekler
  • iterator () - kümenin öğelerine sırayla erişmek için kullanılabilecek bir yineleyici döndürür
  • remove () - belirtilen öğeyi kümeden kaldırır
  • removeAll () - belirtilen başka bir kümede bulunan tüm öğeleri kümeden kaldırır
  • keepAll () - kümede bulunan ve belirtilen başka bir kümede de bulunan tüm öğeleri tutar
  • clear () - kümedeki tüm öğeleri kaldırır
  • size () - kümenin uzunluğunu (eleman sayısını ) döndürür
  • toArray () - kümenin tüm öğelerini içeren bir dizi döndürür
  • içerir () - trueküme belirtilen öğeyi içeriyorsa döndürür
  • containsAll () - trueset, belirtilen koleksiyonun tüm öğelerini içeriyorsa döndürür
  • hashCode () - bir karma kod değeri döndürür (kümedeki öğenin adresi)

SetArayüzle ilgili daha fazla yöntem hakkında bilgi edinmek için Java Set'i (resmi Java belgeleri) ziyaret edin.

İşlemleri Ayarla

Java Setarayüzü, birleşim, kesişim ve alt küme gibi temel matematiksel küme işlemlerini gerçekleştirmemize olanak tanır.

  • Birlik - x ve y iki kümenin birleşimini elde etmek için kullanabilirizx.addAll(y)
  • Kesişim - x ve y kümelerinin kesişimini elde etmek için kullanabilirizx.retainAll(y)
  • Alt küme - x'in y'nin bir alt kümesi olup olmadığını kontrol etmek için kullanabilirizy.containsAll(x)

Set Arayüzünün Uygulanması

1. HashSet Sınıfını Uygulama

 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); ) ) 

Çıktı

 Küme1: (2, 3) Küme2: (1, 2) Birleşim: (1, 2, 3) 

Daha fazla bilgi edinmek için HashSetJava HashSet'i ziyaret edin.

2. TreeSet Sınıfını Uygulama

 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(", "); ) ) ) 

Çıktı

 TreeSet kullanarak ayarlayın: (1, 2, 3) Yineleyici () kullanarak öğelere erişim: 1, 2, 3, 

Daha fazla bilgi edinmek için TreeSetJava TreeSet'i ziyaret edin.

Şimdi ne olduğunu biliyoruz Set, biz böyle sınıflarında olarak uygulamalarını görecek EnumSet, HashSet, LinkedHashSetve TreeSetbir sonraki dökümanında.

Ilginç makaleler...