Tässä opetusohjelmassa opitaan Java NavigableMap -käyttöliittymästä ja sen menetelmistä esimerkin avulla.
NavigableMap
Rajapinta Java kokoelmien politiikalle ominaisuuksia siirtyessä kartan merkinnät.
Sitä pidetään eräänlaisena SortedMap-tiedostona.
Luokka, joka toteuttaa NavigableMap-sovelluksen
Koska NavigableMap
se on käyttöliittymä, emme voi luoda siitä esineitä.
NavigableMap
Käyttöliittymän toimintojen käyttämiseksi meidän on käytettävä toteutettavaa TreeMap
luokkaa NavigableMap
.
Kuinka NavigableMapia käytetään?
Java-ohjelmassa java.util.NavigableMap
paketti on tuotava käytettäväksi NavigableMap
. Kun tuot paketin, voimme luoda navigoitavan kartan seuraavasti.
// NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap();
Edellä olevassa koodissa olemme luoneet navigoitavan kartan, jonka nimet ovat TreeMap
luokan numerot .
Tässä,
- Avain - yksilöllinen tunniste, jota käytetään kunkin elementin (arvon) liittämiseen karttaan
- Arvo - elementit, jotka on liitetty avaimiin kartalla
NavigableMap-menetelmät
Tätä NavigableMap
pidetään eräänlaisena SortedMap
. Se johtuu siitä, että se NavigableMap
laajentaa SortedMap
käyttöliittymää.
Siksi kaikki SortedMap
menetelmät ovat saatavilla myös NavigableMap
. Jos haluat tietää, miten nämä menetelmät määritellään SortedMap
, käy Java SortedMap -sivulla.
Kuitenkin, joitakin menetelmiä SortedMap
( headMap()
, tailMap()
, ja subMap()
) on määritelty eri tavoin NavigableMap
.
Katsotaanpa, miten nämä menetelmät määritellään NavigableMap
.
headMap (avain, booleanValue)
headMap()
Menetelmä palauttaa kaikki merkinnät väylänä kartta liittyy kaikki avaimet ennen määritettyä näppäintä (joka välitetään argumentti).
BooleanValue on valinnainen parametri. Sen oletusarvo on false
.
Jos true
se välitetään booleanValue-arvona, menetelmä palauttaa kaikki näihin avaimiin liittyvät merkinnät ennen määritettyä avainta, mukaan lukien määritettyyn avaimeen liittyvä merkintä.
tailMap (avain, looginen arvo)
tailMap()
Menetelmä palauttaa kaikki merkinnät väylänä kartta liittyy kaikki avaimet jälkeen määriteltyjen avaimen (joka välitetään argumentti), mukaan lukien merkintä liittyy määritettyyn avain.
BooleanValue on valinnainen parametri. Sen oletusarvo on true
.
Jos false
se välitetään booleanValue-arvona, menetelmä palauttaa kaikki näihin avaimiin liittyvät merkinnät määritetyn avaimen jälkeen sisällyttämättä määritettyyn avaimeen liittyvää merkintää.
alikartta (k1, bv1, k2, bv2)
subMap()
Menetelmä palauttaa kaikki merkinnät liittyvät avaimet välillä k1 ja k2 myös merkintä liittyy k1.
Bv1 ja bv2 ovat valinnaisia parametreja. Bv1: n oletusarvo on tosi ja bv2: n oletusarvo on false
.
Jos false
se välitetään nimellä bv1, menetelmä palauttaa kaikki näppäimiin k1 ja k2 liittyvät merkinnät sisällyttämättä k1: een liittyvää merkintää.
Jos true
se välitetään nimellä bv2, menetelmä palauttaa kaikki näppäimiin k1 ja k2 liittyvät merkinnät, mukaan lukien k1: een liittyvät merkinnät.
Muut menetelmät
Tarjolla NavigableMap
on erilaisia menetelmiä, joita voidaan käyttää karttojen merkintöjen löytämiseen.
- descendingMap () - käännä merkintöjen järjestys kartalla
- descendingKeyMap () - kääntää näppäinten järjestyksen kartalla
- ceilingEntry () - palauttaa merkinnän, jolla on alhaisin avain kaikkien niiden merkintöjen joukossa, joiden avaimet ovat suurempia tai yhtä suuria kuin määritetty avain
- ceilingKey () - palauttaa pienimmän avaimen niiden näppäinten joukosta, jotka ovat suurempia tai yhtä suuria kuin määritetty avain
- floorEntry () - palauttaa merkinnän, jolla on korkein avain kaikista niistä merkinnöistä, joiden avaimet ovat pienempiä tai yhtä suuria kuin määritetty avain
- floorKey () - palauttaa korkeimman avaimen niiden avainten joukosta, jotka ovat pienempiä tai yhtä suuria kuin määritetty avain
- suurempiEntry () - palauttaa merkinnän, jolla on alhaisin avain kaikkien niiden merkintöjen joukossa, joiden avaimet ovat suurempia kuin määritetty avain
- suurempiKey () - palauttaa pienimmän avaimen niiden avainten joukosta, jotka ovat suurempia kuin määritetty avain
- lowerEntry () - palauttaa merkinnän, jolla on korkein avain kaikkien niiden merkintöjen joukossa, joiden avaimet ovat pienempiä kuin määritetty avain
- lowerKey () - palauttaa korkeimman avaimen niiden avainten joukosta, jotka ovat pienempiä kuin määritetty avain
- firstEntry () - palauttaa kartan ensimmäisen merkinnän (alimman näppäimen merkinnän)
- lastEntry () - palauttaa kartan viimeisen merkinnän (korkeimman avaimen merkinnän)
- pollFirstEntry () - palauttaa ja poistaa kartan ensimmäisen merkinnän
- pollLastEntry () - palauttaa ja poistaa kartan viimeisen merkinnän
Lisätietoja on Java NavigableMap -sivustossa (virallinen Java-dokumentaatio).
NavigableMap-sovelluksen toteutus TreeMap-luokassa
import java.util.NavigableMap; import java.util.TreeMap; class Main ( public static void main(String() args) ( // Creating NavigableMap using TreeMap NavigableMap numbers = new TreeMap(); // Insert elements to map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " + numbers); // Access the first entry of the map System.out.println("First Entry: " + numbers.firstEntry()); // Access the last entry of the map System.out.println("Last Entry: " + numbers.lastEntry()); // Remove the first entry from the map System.out.println("Removed First Entry: " + numbers.pollFirstEntry()); // Remove the last entry from the map System.out.println("Removed Last Entry: " + numbers.pollLastEntry()); ) )
Tuotos
NavigableMap: (Yksi = 1, Kolme = 3, Kaksi = 2) Ensimmäinen merkintä: Yksi = 1 Viimeinen merkintä: Kaksi = 2 Poistettu Ensimmäinen merkintä: Yksi = 1 Poistettu Viimeinen merkintä: Kaksi = 2
Lisätietoja on TreeMap
Java TreeMap -sivulla.
Nyt tiedämme NavigableMap
käyttöliittymästä, opimme sen toteuttamisesta TreeMap
luokan avulla yksityiskohtaisesti seuraavassa opetusohjelmassa.