Isang Maikling Panimula sa TreeMap sa Java na may Mga Halimbawa



Magbibigay sa iyo ang artikulong ito ng isang detalyado at komprehensibong kaalaman sa TreeMap sa Java na may mga halimbawa ng Mga Paraan at Tagabuo.

Ang pagpapatupad ng isang interface ng Mapa sa Java ay isang napakahalagang gawain. Para sa hangaring ito, mayroon kaming TreeMap at HashMap . Sa artikulong ito ang aming pagtuon ay magiging sa TreeMap sa sa Sumusunod na Order:

Ano ang isang TreeMap sa Java?

Ang isang TreeMap sa Java ay ginagamit upang ipatupad ang interface ng Mapa at NavigableMap kasama ang Abstract Class. Ang mapa ay pinagsunod-sunod ayon sa natural na pag-order ng mga key nito, o ng isang Paghahambing na ibinigay sa oras ng paglikha ng mapa, depende sa aling tagapagbuo ang ginagamit. Napatunayan nitong isang mahusay na paraan ng pag-uuri at pag-iimbak ng mga pares na key-halaga.





TreeMap-in-JavaAng order ng pag-iimbak na pinananatili ng treemap ay dapat na pare-pareho sa katumbas tulad ng anumang iba pang pinagsunod-sunod na mapa, hindi alintana ang mga malinaw na kumpare. Ang treemapang pagpapatupad ay hindi na-synchronize sa diwa na kung ang isang mapa ay na-access ng maraming mga thread, kasabay at hindi bababa sa isa sa mga thread na binabago ang mapa sa istruktura, dapat itong mai-synchronize sa labas.

Mga Tampok ng TreeMaps

  • Ang klase na ito ay kasapi ng Framework ng Mga Koleksyon ng Java.



  • Ang klase ay nagpapatupad ng mga interface ng Mapa kabilang ang NavigableMap, SortMap at nagpapalawak sa AbstractMap

    kung paano ipatupad ang hashmap sa java
  • Ang TreeMap sa Java ay hindi pinapayagan ang mga null key (tulad ng Mapa) at sa gayon ang isang NullPointerException ay itinapon. Gayunpaman, maraming mga null na halaga ay maaaring maiugnay sa iba't ibang mga susi.

  • Lahat ng Mapa. ​​Ang mga pares ng entry ay naibalik ng mga pamamaraan sa klase na ito at ang mga pananaw nito ay kumakatawan sa mga snapshot ng mga pagmamapa sa oras na ginawa.



  • Hindi nila sinusuportahan ang pamamaraan ng Entry.setValue.

Mahalagang Mga Puntong Dapat Tandaan

  1. Bukod sa pagpapatupad ng interface ng Mapa, ipinapatupad din ng Java TreeMap ang NavigableMap at hindi direktang ipinapatupad ang SortMap interface. Pinapalawak din ng TreeMap ang klase ng AbstractMap.

  2. Ang mga entry sa TreeMap ay pinagsunod-sunod sa natural na pag-order ng mga key nito. Nagbibigay din ito ng isang tagapagbuo upang magbigay ng Comparator upang magamit para sa pag-order. Kaya't kung gumagamit ka ng anumang klase bilang susi, tiyaking ipinapatupad nito ang Maihahambing na interface para sa natural na pag-order. Suriin ang mga koleksyon ng java ng mga katanungan sa pakikipanayam upang maunawaan ang kahalagahan ng mga pamamaraang ito.

  3. Ang pagpapatupad ng Java TreeMap ay nagbibigay ng garantisadong gastos ng oras ng pag-log (n) para sa mga naglalaman ngKey, kumuha, maglagay at mag-alis ng mga operasyon.

    pagkakasunud-sunod ng fibonacci sa c ++
  4. Ang TreeMap ay hindi na-synchronize at samakatuwid ay hindi ligtas sa thread. Para sa mga multithreaded na kapaligiran, maaari kang makakuha ng isang balot na naka-synchronize gamit ang pamamaraan na Collections.synchronizedSortMap.

  5. Ang mga pamamaraan ng TreeMap upang makakuha ng keyset at mga halaga ay magbabalik ng Iterator na mabibigo nang mabilis sa likas na katangian, kaya't ang anumang kasabay na pagbabago ay magtatapon ng ConcurrentModificationException.

  6. Hindi pinapayagan ng TreeMap sa java ang mga null key, gayunpaman, maaari kang magkaroon ng maraming mga null na halaga na nauugnay sa iba't ibang mga key.

Ang mga konstruktor sa TreeMap

Tagabuo Paglalarawan
TreeMap () Gumagawa ng isang walang laman na treemap na maiayos ayon sa natural na pagkakasunud-sunod ng mga key nito.
TreeMap (Comparator comp) Bumubuo ng isang walang laman na mapa na nakabatay sa puno na aayos ayon sa Comparator comp.
TreeMap (Mapa ng mapa) Pinasimulan ang isang treemap kasama ang mga entry mula sa m, na aayos ayon sa natural na pagkakasunud-sunod ng mga pindutan.
TreeMap (SortadongMap sm) Pinasimulan ang isang treemap na may mga entry mula sa SortMap sm, na aayos sa parehong pagkakasunud-sunod ng sm.

Mga Paraan sa TreeMap

Pamamaraan Paglalarawan
walang bisa () Tinatanggal ang lahat ng mga pagmamapa mula sa TreeMap na ito.
Pag-clone ng object () Nagbabalik ng isang mababaw na kopya ng halimbawa ng TreeMap na ito.
Comparator kumpara () Ibinabalik ang kumpare na ginamit upang mag-order ng map na ito, o null kung gumagamit ang map na ito ng natural na pagkakasunud-sunod ng mga key nito.
naglalaman ang booleanKey (Object key) Ibinabalik totoo kung ang mapang ito ay naglalaman ng isang pagmamapa para sa tinukoy na key.
naglalaman ang booleanValue (Halaga ng object) Ibinabalik nang totoo kung ang mapa na ito ay nag-map ng isa o higit pang mga susi sa tinukoy na halaga.
Itakda ang entrySet () Nagbabalik ng isang itinakdang pagtingin sa mga pagmamapa na nilalaman sa map na ito.
Object munaKey () Ibinabalik ang unang (pinakamababang) key na kasalukuyang nasa ganitong uri ng mapa.
Pagkuha ng object (Object key) Ibinabalik ang halaga kung saan mapa ang mapa na ito ang tinukoy na key.
Sortado angMap headMap (Object toKey) Nagbabalik ng isang view ng bahagi ng mapang ito na ang mga key ay mahigpit na mas mababa kaysa sa toKey.
Itakda ang keySet () Nagbabalik ng isang Itinakda ang view ng mga key na nilalaman sa map na ito.
Huling objectKey () Ibinabalik ang huling (pinakamataas) na key na kasalukuyang nasa ganitong uri ng mapa.
Nilagay na object (Key ng object, Object object) Iugnay ang tinukoy na halaga sa tinukoy na key sa map na ito.
void putAll (Mapa ng mapa) Kinokopya ang lahat ng mga pagmamapa mula sa tinukoy na mapa papunta sa map na ito.
Tanggalin ang object (Object key) Tinatanggal ang pagmamapa para sa key na ito mula sa TreeMap na ito kung mayroon.
int laki () Ibinabalik ang bilang ng mga key-value mapping sa map na ito.
SortadongMapa subMap (Bagay mula saKey, Bagay saKey) Nagbabalik ng isang view ng bahagi ng mapang ito na ang mga susi ay mula sa mula saKey, kasama, hanggang sa toKey, eksklusibo.
SortadongMap tailMap (Bagay mula saKey) Nagbabalik ng isang view ng bahagi ng mapang ito na ang mga key ay mas malaki sa o katumbas ng mula saKey.
Mga halaga ng koleksyon () Nagbabalik ng isang view ng koleksyon ng mga halagang nilalaman sa map na ito.

Halimbawa ng TreeMap sa Java

i-import ang java.util.TreeMap public class na TreeMapMain {public static void main (String args []) {// TreeMap na may Bansa bilang susi at kapital bilang halaga // Nag-iimbak ang TreeMap ng mga elemento sa natural na pag-order ng mga susi. TreeMap countryCapitalMap = bagong TreeMap () countryCapitalMap.put ('India', 'Delhi') countryCapitalMap.put ('Japan', 'Tokyo') countryCapitalMap.put ('France', 'Paris') countryCapitalMap.put ('Russia' , 'Moscow') System.out.println ('----------------------------') // Iterating TreeMap Gamit ang keySet ( ) at para sa bawat loop System.out.println ('Iterating TreeMap Gamit ang keySet () at para sa bawat loop') para sa (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' at Capital: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}

Output:

Sa pamamagitan nito, natapos namin ang artikulong ito ng TreeMap sa Java. C ano ba ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa pagsasanay at sertipikasyon ng Java J2EE at SOA ng Edureka ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng blog na 'TreeMap in Java' at babalikan ka namin sa lalong madaling panahon.