logo

„NavigableSet“ programoje „Java“.

Java programoje NavigableSet yra potipis Rūšiuotas rinkinys sąsaja. Tai leidžia mums atlikti įvairias operacijas, pvz., gauti artimiausius tam tikro elemento atitikmenis mažėjančios tvarkos iteracijai ir kt. Jame pateikiami būdai naršyti po rinkinio elementus.

Pavyzdžiui „NavigableSet“ sąsaja leidžia naršyti rinkinyje tiek didėjančia, tiek mažėjančia tvarka, skirtingai nei „SortedSet“, kuri palaiko tik didėjančią tvarką. Klasės, įgyvendinančios NavigableSet sąsają, yra Medžių rinkinys  ir  ConcurrentSkipListSet

  • „NavigableSet“ išplečia „SortedSet“ ir taip pateikia tokius metodus kaip pirmasis () paskutinis () headSet () tailSet () ir kt.
  • Tai leidžia naršyti abiem kryptimis didėjančia ir mažėjančia tvarka
  • Dažniausias „NavigableSet“ diegimas yra „TreeSet“.

Pavyzdys: Šiame pavyzdyje parodytas NavigableSet kūrimas naudojant TreeSet ir elementų pridėjimas prie jo, kuris automatiškai surūšiuoja juos didėjančia tvarka.



Java
// Java program to demonstrates  // the working of NavigableSet  import java.util.*; public class Geeks {  public static void main(String[] args) {  NavigableSet<Integer> ns = new TreeSet<>();  // Add elements to the set  ns.add(10);  ns.add(20);  ns.add(30);  ns.add(40);  ns.add(50);  System.out.println('Navigable Set: ' + ns);  } } 

Išvestis
Navigable Set: [10 20 30 40 50] 


base64 dekodavimas js

Toliau pateiktoje diagramoje parodyta paveldėjimo struktūra Java rinkinių sistemoje, susijusioje su rinkiniais.

NavigableSet-in-Java-with-Examples' title=

TreeSet yra klasė, kuri įgyvendina NavigableSet kuris savo ruožtu pratęsia SortedSet, kuris tęsiasi Nustatyti .

NavigableSet deklaracija

Java programoje NavigableSet deklaracija gali būti deklaruojama kaip:

NavigableSetsetName;

Pastaba:' Tipas“ yra rinkinio elemento tipas (pvz., sveikasis skaičius String ir kt.), o setName yra kintamojo pavadinimas.

„NavigableSet“ objektų kūrimas

Negalime tiesiogiai sukurti „NavigableSet“, nes tai sąsaja. Vietoj to naudojame klasę kaip Medžių rinkinys kad tai įgyvendina. Naudodami bendruosius žodžius galime apibrėžti objektų tipą, kurį rinkinys saugos. Šį saugaus tipo rinkinį galima apibrėžti taip:

NavigableSetrinkinys = naujas medžio rinkinys();

Pavyzdys: Šiame pavyzdyje parodyta, kaip naudoti įvairius NavigableSet metodus, pvz., descedingSet() tailSet() low() pollFirst() ir pollLast(), norint valdyti ir naršyti surūšiuotą rinkinį įprasta ir atvirkštine tvarka.

Java
// Java Program to demostrates the  // working of various methods of NavigableSet import java.util.NavigableSet; import java.util.TreeSet; public class Geeks {  public static void main(String[] args)  {  NavigableSet<Integer> ns = new TreeSet<>();  ns.add(0);  ns.add(1);  ns.add(2);  ns.add(3);  ns.add(4);  ns.add(5);  ns.add(6);  // Get a reverse view of the navigable set  NavigableSet<Integer> revNs = ns.descendingSet();  // Print the normal and reverse views  System.out.println('Normal order: ' + ns);  System.out.println('Reverse order: ' + revNs);  NavigableSet<Integer> t = ns.tailSet(3 true);  System.out.println('3 or more: ' + t);  System.out.println('lower(3): ' + ns.lower(3));  System.out.println('floor(3): ' + ns.floor(3));  System.out.println('higher(3): ' + ns.higher(3));  System.out.println('ceiling(3): ' + ns.ceiling(3));  System.out.println('pollFirst(): ' + ns.pollFirst());  System.out.println('Navigable Set: ' + ns);  System.out.println('pollLast(): ' + ns.pollLast());  System.out.println('Navigable Set: ' + ns);  System.out.println('pollFirst(): ' + ns.pollFirst());  System.out.println('Navigable Set: ' + ns);  System.out.println('pollFirst(): ' + ns.pollFirst());  System.out.println('Navigable Set: ' + ns);  System.out.println('pollFirst(): ' + ns.pollFirst());  System.out.println('Navigable Set: ' + ns);  System.out.println('pollFirst(): ' + ns.pollFirst());  System.out.println('pollLast(): ' + ns.pollLast());  } } 

Išvestis:

Išvestis' loading='lazy' title=

Įvairių operacijų atlikimas su NavigableSet

1. Elementų pridėjimas: Mes galime naudoti pridėti () būdas įterpti elementus į NavigableSet. Elementai saugomi surūšiuota tvarka, dublikatai neleidžiami, o nulinės reikšmės taip pat nepriima NavigableSet.

Pavyzdys: Šiame pavyzdyje parodytas elementų įtraukimas į NavigableSet naudojant add(), kur dublikatai ignoruojami, o elementai rūšiuojami didėjančia tvarka.

Java
// Java Program to demonstrates the working of add() import java.util.*; import java.io.*; class Geeks {  public static void main(String[] args)  {  NavigableSet<String> ts = new TreeSet<String>();  // Elements are added using add() method  ts.add('A');  ts.add('B');  ts.add('C');  ts.add('A');  System.out.println('NavigableSet: ' + ts);  } } 

Išvestis
NavigableSet: [A B C] 


2. Prieiga prie elementų: Pridėję elementus, jei norime pasiekti elementus, galime naudoti integruotus metodus, pvz yra () pirmas () paskutinis () ir tt

Pavyzdys: Šiame pavyzdyje parodytas elementų pridėjimas prie „NavigableSet“, tikrinant, ar elementas egzistuoja, ir nuskaityti pirmąjį bei paskutinįjį elementus.

java į json objektą
Java
// Java program to demonstrates the  // working of contains() first() and last() method import java.util.*; import java.io.*; class Geeks {  public static void main(String[] args)  {  NavigableSet<String> ts = new TreeSet<String>();  // Elements are added using add() method  ts.add('A');  ts.add('B');  ts.add('C');  ts.add('A');  System.out.println('NavigableSet: ' + ts);  String s = 'D';  // Check if the above string exists in  // the NavigableSet or not  System.out.println('D exists in the NavigableSet?: '  + ts.contains(s));  // Print the first element in  // the NavigableSet  System.out.println('First Element of NavigableSet: '   + ts.first());  // Print the last element in  // the NavigableSet  System.out.println('Last Element of NavigableSet: '   + ts.last());  } } 

Išvestis
NavigableSet: [A B C] D exists in the NavigableSet?: false First Element of NavigableSet: A Last Element of NavigableSet: C 


3. Elementų pašalinimas: Vertes galima pašalinti iš NavigableSet naudojant pašalinti () apklausa Pirma () apklausaPaskutinė() .

Pavyzdys: Šiame pavyzdyje parodytas elementų pašalinimas iš NavigableSet.

java regex, skirta
Java
// Java Program to demonstrates the working of remove() // pollFirst() and pollLast() method import java.io.*; import java.util.*; class Geeks {  public static void main(String[] args)  {  NavigableSet<String> ts = new TreeSet<String>();  // Elements are added using add() method  ts.add('A');  ts.add('B');  ts.add('C');  ts.add('B');  ts.add('D');  ts.add('E');  System.out.println('NavigableSet: ' + ts);  // Removing the element b  ts.remove('B');  System.out.println('After removing element ' + ts);  // Remove the First element of TreeSet  ts.pollFirst();  System.out.println(  'After the removal of First Element ' + ts);  // Remove the Last element of TreeSet  ts.pollLast();  System.out.println(  'After the removal of Last Element ' + ts);  } } 

Išvestis
NavigableSet: [A B C D E] After removing element [A C D E] After the removal of First Element [C D E] After the removal of Last Element [C D] 


4. Iteruojantys elementai: Yra įvairių būdų, kaip kartoti „NavigableSet“. Garsiausias yra naudoti  patobulinta kilpai.

Pavyzdys: Šiame pavyzdyje parodytas elementų įtraukimas į NavigableSet ir kartojimas didėjančia tvarka.

Java
// Java Program to iterate through NavigableSet import java.util.*; import java.io.*; class Geeks {  public static void main(String[] args)  {  NavigableSet<String> ts = new TreeSet<String>();  // Elements are added using add() method  ts.add('C');  ts.add('D');  ts.add('E');  ts.add('A');  ts.add('B');  ts.add('Z');  // Iterating though the NavigableSet  for (String i : ts)  System.out.print(i + ' ');  } } 

Išvestis
A B C D E Z 

Metodai

Toliau pateikiami NavigableSet sąsajos metodai. 

Metodai

Aprašymas

 lubos (E e) Grąžina mažiausią elementą šioje aibėje, didesnį už nurodytą elementą arba jam lygų, arba nulį, jei tokio elemento nėra.
descendingIterator() Grąžina šio rinkinio elementų iteratorių mažėjančia tvarka.
descendingSet() Grąžina šiame rinkinyje esančių elementų atvirkštinės tvarkos rodinį.
aukštas (E e) Grąžina didžiausią elementą šioje aibėje, mažesnį už nurodytą elementą arba jam lygų arba nulį, jei tokio elemento nėra.
ausinės (E į elementą) Grąžina šio rinkinio dalies, kurios elementai yra griežtai mažesni nei toElement, rodinį.
headSet (E toElement loginis dydis imtinai) Grąžina šio rinkinio dalies, kurios elementai yra mažesni už (arba lygūs, jei yra tiesa), elementą Element.
didesnis (E e) Grąžina mažiausią elementą šiame rinkinyje, griežtai didesnį už nurodytą elementą arba nulį, jei tokio elemento nėra.
iteratorius () Grąžina iteratorių virš šio rinkinio elementų didėjančia tvarka.
žemesnis (E e) Grąžina didžiausią elementą šioje aibėje, griežtai mažesnį už nurodytą elementą arba nulį, jei tokio elemento nėra.
apklausa Pirma () Nuskaito ir pašalina pirmąjį (žemiausią) elementą arba grąžina nulį, jei šis rinkinys tuščias.
apklausaPaskutinė() Nuskaito ir pašalina paskutinį (aukščiausią) elementą arba grąžina nulį, jei šis rinkinys tuščias.

subSet(E iš elemento loginio

nuo Inclusive E iki Element loginio į inclusive)

Grąžina šio rinkinio dalies, kurios elementai svyruoja nuo elemento iki elemento, rodinį.
poaibis (E nuo E elemento iki elemento) Grąžina šio rinkinio dalies, kurios elementai svyruoja nuo elementų imtinai iki išskirtinio elemento, vaizdą.
uodegos rinkinys (E iš elemento)Pateikia šio rinkinio dalies, kurios elementai yra didesni arba lygūs fromElement, rodinį.
uodegos rinkinys (E iš elemento loginės reikšmės imtinai)Grąžina šio rinkinio dalies, kurios elementai yra didesni nei (arba lygūs, jei yra tiesa) elemento „Element“, rodinį.

                                                                                                                                              
Metodai, paveldėti iš sąsajos java.util.SortedSet

Metodas

Aprašymas

lyginamoji priemonė ()  Šis metodas grąžina lyginamąjį elementą, naudojamą šio rinkinio elementų išdėstymui, arba nulį, jei šis rinkinys naudoja natūralią elementų tvarką.
pirmas () Šis metodas grąžina pirmąjį (žemiausią) elementą, esantį šiame rinkinyje.
paskutinis () Šis metodas grąžina paskutinį (aukščiausią) rinkinyje esantį elementą.
skirstytuvas ()Sukuria skirstytuvą virš šio surūšiuoto rinkinio elementų.

Metodai, paveldėti iš sąsajos java.util.Set

Metodas

Linux užduočių tvarkyklė

Aprašymas

pridėti (elementas) Šis metodas naudojamas konkrečiam elementui įtraukti į rinkinį. Funkcija prideda elementą tik tuo atveju, jei nurodyto elemento dar nėra rinkinyje, kitaip funkcija grąžina False, jei elementas jau yra rinkinyje.
pridėti viską (kolekcija)  Šis metodas naudojamas visiems elementams iš minėtos kolekcijos pridėti prie esamo rinkinio. Elementai pridedami atsitiktinai, nesilaikant jokios konkrečios tvarkos.
aišku ()   Šis metodas naudojamas pašalinti visus elementus iš rinkinio, bet ne ištrinti rinkinį. Rinkinio nuoroda vis dar egzistuoja.
yra (elementas) Šis metodas naudojamas patikrinti, ar rinkinyje yra konkretus elementas, ar ne.
yra viskas (kolekcija) 

Šis metodas naudojamas patikrinti, ar rinkinyje yra visi elementai, esantys duotoje kolekcijoje, ar ne.

Šis metodas grąžina „true“, jei rinkinyje yra visi elementai, ir grąžina „false“, jei kurio nors iš elementų trūksta.

lygus () Lygina nurodytą objektą su šiuo lygybės rinkiniu.
maišos kodas ()  Šis metodas naudojamas norint gauti šio rinkinio egzemplioriaus maišos kodo reikšmę. Jis grąžina sveikojo skaičiaus reikšmę, kuri yra šio rinkinio egzemplioriaus maišos kodo reikšmė.
yra tuščias () Šis metodas naudojamas patikrinti, ar „NavigableSet“ yra tuščias, ar ne.
pašalinti (elementas) Šis metodas naudojamas norint pašalinti nurodytą elementą iš rinkinio. Šis metodas grąžina „True“, jei nurodytas elementas yra rinkinyje, kitaip jis grąžina „False“.
pašalinti viską (kolekcija) Šis metodas naudojamas pašalinti iš kolekcijos visus rinkinyje esančius elementus. Šis metodas grąžina teisingą, jei šis rinkinys pasikeitė dėl iškvietimo.
išlaikyti viską (kolekcija) Šis metodas naudojamas norint išsaugoti visus rinkinio elementus, kurie paminėti duotoje kolekcijoje. Šis metodas grąžina teisingą, jei šis rinkinys pasikeitė dėl iškvietimo.
dydis () Šis metodas naudojamas rinkinio dydžiui nustatyti. Tai grąžina sveikojo skaičiaus reikšmę, kuri reiškia elementų skaičių.
toArray () Šis metodas naudojamas formuoti masyvą iš tų pačių elementų kaip ir rinkinio.
 toArray(T[] a)Grąžina masyvą, kuriame yra visi šio rinkinio elementai; grąžinamo masyvo vykdymo laikas yra nurodyto masyvo tipas.

Metodai, deklaruoti sąsajoje java.util.Collection

MetodasAprašymas
parallelStream()Pateikiamas galbūt lygiagretus srautas, kurio šaltinis yra ši kolekcija.
removeIf(Predikatasfiltras)Pašalina visus šio rinkinio elementus, kurie atitinka nurodytą predikatą.
srautas ()Pateikia nuoseklų srautą, kurio šaltinis yra ši kolekcija.
toArray? (IntFunctiongeneratorius)Grąžina masyvą, kuriame yra visi šios kolekcijos elementai, naudojant pateiktą generatoriaus funkciją, kad paskirstytų grąžintą masyvą.

Metodai, deklaruoti sąsajoje java.lang.Iterable

MetodasAprašymas
kiekvienam (vartotojuiveiksmas) Atlieka nurodytą veiksmą kiekvienam Iterable elementui, kol visi elementai bus apdoroti arba veiksmas padarys išimtį.