„Java“ sąsaja

Šioje pamokoje sužinosime apie „Java“ sąsają „Set“ ir jos metodus.

SetJava“ Collectionssistemos sąsaja suteikia „Java “ matematinio rinkinio ypatybes. Tai išplečia Collectionsąsają.

Skirtingai nuo Listsąsajos, rinkiniuose negali būti pasikartojančių elementų.

Klasės, kurios įgyvendina rinkinį

Kadangi Settai yra sąsaja, negalime iš jos kurti objektų.

Norėdami naudoti Setsąsajos funkcijas , galime naudoti šias klases:

  • „HashSet“
  • „LinkedHashSet“
  • „EnumSet“
  • Medžių rinkinys

Šios klasės yra apibrėžtos Collectionssistemoje ir įgyvendina Setsąsają.

Sąsajos, pratęsiančios rinkinį

SetSąsaja taip pat pratęsė šių subinterfaces:

  • RūšiuotiNustatyti
  • „NavigableSet“

Kaip naudotis „Set“?

Jei java.util.Setnorite naudoti „ Java“, turime importuoti paketą Set.

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

Čia mes sukūrėme Setvadinamus gyvūnus. Sąsajai įgyvendinti naudojome HashSetklasę Set.

Rinkinio metodai

SetSąsaja apima visus metodus Collectionsąsaja. Taip yra todėl, kad Collectionyra super sąsaja Set.

Kai kurie dažniausiai naudojami Collectionsąsajos metodai, kurie taip pat yra Setsąsajoje, yra šie:

  • add () - prideda nurodytą elementą į rinkinį
  • addAll () - prideda visus nurodytos kolekcijos elementus prie rinkinio
  • iterator () - pateikia iteratorių, kuris gali būti naudojamas nuosekliai pasiekti rinkinio elementus
  • pašalinti () - pašalina nurodytą elementą iš rinkinio
  • removeAll () - pašalina visus elementus iš rinkinio, esančio kitame nurodytame rinkinyje
  • retainAll () - išlaiko visus rinkinio elementus, kurie yra ir kitame nurodytame rinkinyje
  • išvalyti () - pašalina visus elementus iš rinkinio
  • dydis () - pateikia rinkinio ilgį (elementų skaičių)
  • toArray () - pateikia masyvą, kuriame yra visi aibės elementai
  • yra () - grąžina, truejei rinkinyje yra nurodytas elementas
  • containsAll () - grąžina, truejei rinkinyje yra visi nurodytos kolekcijos elementai
  • hashCode () - pateikia maišos kodo vertę (rinkinio elemento adresą)

Norėdami sužinoti daugiau apie Setsąsajos metodus , apsilankykite „Java Set“ (oficiali „Java“ dokumentacija).

Nustatyti operacijas

„Java“ Setsąsaja leidžia mums atlikti pagrindines matematinių rinkinių operacijas, tokias kaip jungimas, sankirta ir pogrupis.

  • Sąjunga - norėdami gauti dviejų rinkinių x ir y sąjungą, galime naudotix.addAll(y)
  • Sankirta - norėdami gauti dviejų rinkinių x ir y sankirtą, galime naudotix.retainAll(y)
  • Pogrupis - norėdami patikrinti, ar x yra y pogrupis, galime naudotiy.containsAll(x)

Nustatytos sąsajos įgyvendinimas

1. „HashSet“ klasės įgyvendinimas

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

Rezultatas

 1 rinkinys: (2, 3) rinkinys2: (1, 2) sąjunga yra: (1, 2, 3) 

Norėdami sužinoti daugiau apie tai HashSet, apsilankykite „Java HashSet“.

2. „TreeSet“ klasės įgyvendinimas

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

Rezultatas

 Nustatykite naudodami „TreeSet“: (1, 2, 3) Prieiga prie elementų naudojant iteratorių (): 1, 2, 3, 

Norėdami sužinoti daugiau apie tai TreeSet, apsilankykite „Java TreeSet“.

Dabar, kad mes žinome, ką Setreiškia, matysime savo realizacijos klasių, kaip EnumSet, HashSet, LinkedHashSetir TreeSetper ateinančius vadovėliai.

Įdomios straipsniai...