logo

NavigableSet Javassa

Javassa NavigableSet on alatyyppi LajiteltuSet käyttöliittymä. Sen avulla voimme suorittaa erilaisia ​​toimintoja, kuten saada lähimmät vastaavuudet tietylle elementille laskevassa järjestyksessä iteraatiossa ja muita. Se tarjoaa menetelmiä navigoida joukon elementtien välillä.

Esimerkiksi NavigableSet-käyttöliittymän avulla voimme navigoida joukossa sekä nousevassa että laskevassa järjestyksessä toisin kuin SortedSet, joka tukee vain nousevaa järjestystä. NavigableSet-rajapinnan toteuttavat luokat ovat TreeSet  ja  ConcurrentSkipListSet

  • NavigableSet laajentaa SortedSet ja tarjoaa siten menetelmiä, kuten first() last() headSet() tailSet() jne.
  • Sen avulla voit navigoida molempiin suuntiin nousevassa ja laskevassa järjestyksessä
  • Yleisin NavigableSetin toteutus on TreeSet.

Esimerkki: Tämä esimerkki osoittaa NavigableSetin luomisen TreeSetillä ja elementtien lisäämisen siihen, mikä lajittelee ne automaattisesti nousevaan järjestykseen.



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

Lähtö
Navigable Set: [10 20 30 40 50] 


Alla oleva kaavio havainnollistaa joukoihin liittyvän Javan kokoelmakehyksen periytymisrakennetta.

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

TreeSet on luokka, joka toteuttaa NavigableSet joka puolestaan ​​laajentaa SortedSet joka ulottuu Sarja .

NavigableSetin ilmoitus

Javassa NavigableSetin ilmoitus voidaan ilmoittaa seuraavasti:

NavigableSetsetName;

Huomautus:' Type' on joukon elementin tyyppi (esim. kokonaislukumerkkijono jne.) ja setName on muuttujan nimi.

NavigableSet-objektien luominen

Emme voi luoda NavigableSetiä suoraan, koska se on käyttöliittymä. Sen sijaan käytämme luokkaa kuten TreeSet joka toteuttaa sen. Yleisten avulla voimme määritellä, minkä tyyppisiä esineitä joukko tallentaa. Tämä tyyppiturvallinen sarja voidaan määritellä seuraavasti:

NavigableSetset = uusi TreeSet();

kuinka monta miljoonaa on miljardissa

Esimerkki: Tämä esimerkki osoittaa, kuinka käyttää erilaisia ​​NavigableSet-menetelmiä, kuten descedingSet() tailSet() low() pollFirst() ja pollLast() lajiteltujen joukkojen manipuloimiseen ja navigointiin sekä normaalissa että käänteisessä järjestyksessä.

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

Lähtö:

Lähtö' loading='lazy' title=

Erilaisten toimintojen suorittaminen NavigableSetillä

1. Elementtien lisääminen: Voimme käyttää lisätä() tapa lisätä elementtejä NavigableSetiin. Elementit tallennetaan lajiteltuun järjestykseen, päällekkäisyyksiä ei sallita, eikä NavigableSet myöskään hyväksy nolla-arvoja.

Esimerkki: Tämä esimerkki osoittaa elementtien lisäämisen NavigableSet-joukkoon add()-komennolla, jossa kaksoiskappaleet jätetään huomioimatta ja elementit lajitellaan nousevaan järjestykseen.

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

Lähtö
NavigableSet: [A B C] 


2. Elementtien käyttö: Elementtien lisäämisen jälkeen, jos haluamme käyttää elementtejä, voimme käyttää sisäänrakennettuja menetelmiä, kuten sisältää () ensimmäinen() kestää() jne.

Esimerkki: Tämä esimerkki osoittaa elementtien lisäämisen NavigableSet-sarjaan, joka tarkistaa elementin olemassaolon ja hakee ensimmäisen ja viimeisen elementin.

kuinka koulu keksittiin
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());  } } 

Lähtö
NavigableSet: [A B C] D exists in the NavigableSet?: false First Element of NavigableSet: A Last Element of NavigableSet: C 


3. Elementtien poistaminen: Arvot voidaan poistaa NavigableSetistä käyttämällä poistaa() PollFirst() kysely viimeinen() .

Esimerkki: Tämä esimerkki osoittaa elementtien poistamisen NavigableSetistä.

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

Lähtö
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. Toistoelementit: NavigableSetissä on useita tapoja iteroida. Tunnetuin niistä on käyttää  parannettu silmukalle.

Esimerkki: Tämä esimerkki osoittaa elementtien lisäämisen NavigableSet-joukkoon ja sen iteroinnin nousevassa järjestyksessä.

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 + ' ');  } } 

Lähtö
A B C D E Z 

menetelmät

Seuraavat ovat NavigableSet-käyttöliittymän menetelmiä. 

menetelmät

Kuvaus

 katto (E e) Palauttaa tämän joukon pienimmän elementin, joka on suurempi tai yhtä suuri kuin annettu elementti, tai nollan, jos sellaista ei ole.
descendingIterator() Palauttaa iteraattorin tämän joukon elementtien päälle laskevassa järjestyksessä.
laskevajoukko() Palauttaa käänteisen järjestyksen näkymän tämän joukon sisältämistä elementeistä.
kerros (E e) Palauttaa tämän joukon suurimman elementin, joka on pienempi tai yhtä suuri kuin annettu elementti tai nollan, jos sellaista ei ole.
kuulokemikrofoni (E-elementti) Palauttaa näkymän tämän joukon osasta, jonka elementit ovat ehdottomasti pienempiä kuin toElement.
headSet (E toElement boolean mukaan lukien) Palauttaa näkymän tämän joukon osasta, jonka elementit ovat pienempiä (tai yhtä suuria, jos inclusive on tosi) elementille.
korkeampi (E e) Palauttaa tämän joukon pienimmän elementin, joka on ehdottomasti suurempi kuin annettu elementti, tai nollan, jos sellaista ei ole.
iteraattori() Palauttaa iteraattorin tämän joukon elementtien päälle nousevassa järjestyksessä.
alempi (E e) Palauttaa tämän joukon suurimman elementin, joka on tiukasti pienempi kuin annettu elementti tai nolla, jos sellaista ei ole.
PollFirst() Hakee ja poistaa ensimmäisen (alimman) elementin tai palauttaa nollan, jos tämä joukko on tyhjä.
kysely viimeinen() Hakee ja poistaa viimeisen (korkeimman) elementin tai palauttaa nollan, jos tämä joukko on tyhjä.

osajoukko(E elementistä boolen

int merkkijonossa

Inclusive E:stä Elementiin Boolean toInclusive)

Palauttaa näkymän tämän joukon osasta, jonka elementit vaihtelevat elementistä elementtiin.
osajoukko (E elementistä E elementtiin) Palauttaa näkymän tämän joukon osasta, jonka elementit vaihtelevat elementeistä sisältäviin elementteihin.
tailSet (E elementistä)Palauttaa näkymän tämän joukon osasta, jonka elementit ovat suurempia tai yhtä suuria kuin elementistä.
tailSet (E elementistä boolean mukaan lukien)Palauttaa näkymän tämän joukon osasta, jonka elementit ovat suurempia kuin (tai yhtä suuret, jos inclusive on tosi) elementistä.

                                                                                                                                              
Java.util.SortedSet-liittymästä perityt menetelmät

Menetelmä

Kuvaus

vertailija()  Tämä menetelmä palauttaa tämän joukon elementtien järjestämiseen käytetyn vertailijan tai nollan, jos tämä joukko käyttää elementtiensä luonnollista järjestystä.
ensimmäinen() Tämä menetelmä palauttaa tämän joukon ensimmäisen (pienimmän) elementin.
kestää() Tämä menetelmä palauttaa joukon viimeisen (korkeimman) elementin.
splitter()Luo jakajan tämän lajitellun joukon elementtien päälle.

Java.util.Set-liittymästä perityt menetelmät

Menetelmä

Kuvaus

lisää (elementti) Tätä menetelmää käytetään tietyn elementin lisäämiseen joukkoon. Funktio lisää elementin vain, jos määritetty elementti ei ole jo joukossa, muuten funktio palauttaa False, jos elementti on jo joukossa.
addAll (kokoelma)  Tätä menetelmää käytetään liittämään kaikki elementit mainitusta kokoelmasta olemassa olevaan joukkoon. Elementit lisätään satunnaisesti noudattamatta mitään tiettyä järjestystä.
selvä ()   Tätä menetelmää käytetään poistamaan kaikki elementit joukosta, mutta ei poista joukkoa. Setin viite on edelleen olemassa.
sisältää (elementin) Tätä menetelmää käytetään tarkistamaan, onko tietty elementti joukossa vai ei.
sisältääKaikki (kokoelma) 

Tällä menetelmällä tarkistetaan, sisältääkö joukko kaikki annetussa kokoelmassa olevat elementit vai ei.

suorituskyvyn testaus

Tämä menetelmä palauttaa tosi, jos joukko sisältää kaikki elementit, ja palauttaa epätosi, jos jokin elementeistä puuttuu.

on yhtä suuri () Vertaa määritettyä objektia tähän tasa-arvojoukkoon.
hashCode()  Tätä menetelmää käytetään joukon tämän esiintymän hashCode-arvon saamiseksi. Se palauttaa kokonaisluvun arvon, joka on tämän joukon esiintymän hashCode-arvo.
isEmpty() Tätä menetelmää käytetään tarkistamaan, onko NavigableSet tyhjä vai ei.
poista (elementti) Tätä menetelmää käytetään tietyn elementin poistamiseen joukosta. Tämä menetelmä palauttaa True, jos määritetty elementti on joukossa, muuten se palauttaa False.
poista kaikki (kokoelma) Tätä menetelmää käytetään poistamaan kokoelmasta kaikki joukossa olevat elementit. Tämä menetelmä palauttaa tosi, jos tämä joukko muuttui kutsun seurauksena.
säilyttää kaikki (kokoelma) Tätä menetelmää käytetään säilyttämään kaikki joukon elementit, jotka on mainittu annetussa kokoelmassa. Tämä menetelmä palauttaa tosi, jos tämä joukko muuttui kutsun seurauksena.
koko() Tätä menetelmää käytetään joukon koon määrittämiseen. Tämä palauttaa kokonaislukuarvon, joka ilmaisee elementtien lukumäärän.
toArray() Tätä menetelmää käytetään muodostamaan taulukko samoista elementeistä kuin Joukko.
 toArray(T[] a)Palauttaa taulukon, joka sisältää kaikki tämän joukon elementit; palautetun taulukon ajonaikainen tyyppi on määritetyn taulukon tyyppi.

Käyttöliittymässä java.util.Collection ilmoitetut menetelmät

MenetelmäKuvaus
parallelStream()Palauttaa mahdollisesti rinnakkaisen streamin, jonka lähteenä on tämä kokoelma.
removeIf(Predikaattisuodattaa)Poistaa kaikki tämän kokoelman elementit, jotka täyttävät annetun predikaatin.
stream()Palauttaa peräkkäisen streamin, jonka lähteenä on tämä kokoelma.
toArray?(IntFunctiongeneraattori)Palauttaa taulukon, joka sisältää kaikki tämän kokoelman elementit käyttämällä toimitettua generaattoritoimintoa palautetun taulukon varaamiseen.

Menetelmät, jotka on ilmoitettu käyttöliittymässä java.lang.Iterable

MenetelmäKuvaus
jokaiselle (kuluttajatoiminta) Suorittaa annetun toiminnon kullekin iterable-elementille, kunnes kaikki elementit on käsitelty tai toiminto tekee poikkeuksen.