Java TreeMap -luokka tallentaa tiedot puurakenteeseen karttarajapinnan avulla. Tämä luokka laajentaa AbstractMap-luokkaa ja, kuten sen yläluokka, TreeMapilla on kaksi tyyppiparametria. Yksi sen tyyppiparametreista edustaa TreeMapin avaimia, kun taas toinen edustaa arvoja.
TreeMap-tietorakenne tallentaa avain-arvo-parit ja mahdollistaa CRUD-toimintojen suorittamisen näille tiedoille.
kuinka rajata kuva Macissa
Kuinka luoda TreeMap Javassa
TreeMap-luokassa on neljä konstruktoria, joiden avulla voit luoda uuden TreeMap-objektin. Oletuskonstruktori on suosituin neljästä. Tämä rakentaja ei ota argumentteja ja luo tyhjän puukartan.
// Create a new tree map
TreeMap<Integer,String> customers = new TreeMap<Integer,String>();
Yllä oleva koodi luo tyhjän puukartan nimeltä Asiakkaat .
TreeMap-tietorakenteen täyttäminen
The laittaa() menetelmä lisää kohteen TreeMap-objektiin. Se vaatii kaksi argumenttia – avaimen ja sen arvon. Voit lisätä kohteita puukarttaan missä tahansa satunnaisessa järjestyksessä ja tietorakenne tallentaa ne nousevassa järjestyksessä avaimien mukaan.
// Populate a tree map
customers.put(105, "Jessica Jones");
customers.put(102, "Mark Williams");
customers.put(104, "Phil Blair");
customers.put(101, "Kim Brown");
customers.put(103, "Jim Riley");
Yllä oleva koodi lisää viisi asiakasta satunnaisessa järjestyksessä asiakkaiden puukarttaan.
Kohteiden katseleminen TreeMapissa
TreeMap-luokka tallentaa tietonsa objektiin. Joten nähdäksesi kaikki puukartan kohteet, voit yksinkertaisesti tulostaa puukarttaobjektin konsoliin:
// View all tree map items as an object
System.out.println(customers);
Yllä oleva koodi tulostaa seuraavan tulosteen konsoliin:
{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
Huomaa, että yllä oleva objekti näyttää kohteet nousevassa järjestyksessä. Voit myös tarkastella jokaista kohdetta ja sitä vastaavaa näppäintä käyttämällä Java for loop .
// View all items with an iterator
for (Entry<Integer, String> customer : customers.entrySet()) {
System.out.println("Key: " + customer.getKey() + " Value: " + customer.getValue());
}
Yllä oleva koodi tulostaa seuraavan tulosteen konsoliin:
Key: 101 Value: Kim Brown
Key: 102 Value: Mark Williams
Key: 103 Value: Jim Riley
Key: 104 Value: Phil Blair
Key: 105 Value: Jessica Jones
Kohteiden päivittäminen TreeMapissa
TreeMap-luokan avulla voit päivittää olemassa olevan kohteen käyttämällä korvata() menetelmä. Korvausmenetelmiä on kaksi. Ensimmäinen menetelmä ottaa olemassa olevan avaimen ja uuden arvon, johon haluat yhdistää olemassa olevan avaimen.
miten tehdä suodatin snapchatille
// Replace existing value
customers.replace(101,"Kim Smith");
System.out.println(customers);
Yllä oleva koodi tulostaa seuraavan objektin konsoliin:
{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
Kuten näet Kim Brown on nyt Kim Smith . Toinen korvaa()-menetelmä ottaa olemassa olevan avaimen, avaimen nykyisen arvon ja uuden arvon, jonka haluat yhdistää avaimeen.
// Replace existing value
customers.replace(103,"Jim Riley", "Michelle Noah");
System.out.println(customers);
Yllä oleva koodi tulostaa seuraavan objektin konsoliin:
{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}
Yllä olevassa objektissa Michelle Noah korvaa Jim Riley .
Kohteiden poistaminen TreeMapista
Jos haluat poistaa yhden kohteen puukartasta, Poista() menetelmä on ainoa vaihtoehto. Se ottaa poistettavaan kohteeseen liittyvän avaimen ja palauttaa poistetun arvon.
// Remove an item
customers.remove(104);
System.out.println(customers);
Yllä olevan koodin suorittaminen tulostaa seuraavan objektin konsoliin:
{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}
Tämä Java luokka on myös a asia selvä() menetelmä, jonka avulla voit poistaa kaikki kohteet puukartalta.
TreeMap vs. HashMap Java-luokka
TreeMap ja HashMap ovat kaksi suositumpaa Java-karttaluokkaa. Molemmat laajentavat AbstractMap-luokkaa. Tämä suhde antaa TreeMap- ja HashMap-luokille pääsyn moniin samoihin toimintoihin.
Näiden kahden karttaluokan välillä on kuitenkin joitain huomionarvoisia eroja. TreeMap käyttää Map-käyttöliittymän punamusta-puutoteutusta, kun taas HashMap käyttää hash-taulukkoa. HashMap antaa sinun tallentaa yhden tyhjäavaimen, kun taas TreeMap ei. Lopuksi HashMap on nopeampi kuin TreeMap. Ensimmäisen algoritminopeus on O(1), kun taas jälkimmäisen on O(log(n)).