Java TreeSet

Java Treeset



Ang TreeSet ay itinuturing na isa sa mga pinakapangunahing pagpapatupad ng SortedSet na gumagamit ng Tree bilang pangunahing uri ng storage nito. Sa isang TreeSet, ang bawat halaga ay nakaimbak sa pinagsunod-sunod na pagkakasunud-sunod. Bilang default, ang lahat ng mga numeric na halaga ay pinananatili sa pataas na pagkakasunud-sunod, at ang mga string ay pinangangasiwaan sa nakabatay sa diksyunaryo. Ang TreeSet ay nagpapanatili ng pataas at nakabatay sa diksyunaryo na pagkakasunud-sunod kung ang maihahambing ay tinukoy o hindi. Upang maayos na maipatupad ang Set interface, ang TreeSet ay dapat na pare-pareho sa maihahambing. Bukod dito, ang mga null na halaga ay hindi katanggap-tanggap sa TreeSet.

Halimbawa 1

Ang paraan ng add() ay kinakailangan upang idagdag ang mga elemento sa loob ng TreeSet. Ang elementong tinukoy ay idadagdag gamit ang parehong pagkakasunud-sunod ng pag-uuri gaya noong ginawa ang TreeSet. Hindi ito magdaragdag ng mga duplicate na entry.









Sa loob ng nakaraang code, ipinasok namin ang utility class ng Java upang ma-access ang mga klase at pamamaraan ng Java. Susunod, Ang pangunahing() na pamamaraan ay nakapaloob sa kahulugan ng klase na 'CreatingTreeSet'. Sinubukan namin ang TreeSet code sa loob ng pangunahing() na pamamaraan. Una kaming gumawa ng variable na 'tao' mula sa klase na TreeSet at itinakda ang walang laman na interface ng TreeSet sa ipinahayag na variable na 'mga tao'.



Tandaan na idinagdag lamang namin ang mga elemento ng string bilang ang uri ng data ng TreeSet ay tinukoy sa oras ng paglikha ng interface nito. Naglagay kami ng limang elemento ng string sa TreeSet, kung saan ang bawat elemento ng string ay natatangi. Pagkatapos, binagtas namin ang bawat elemento ng TreeSet mula sa pamamaraan ng iterator(), na ipi-print sa pataas na pagkakasunud-sunod sa screen ng output.





Ang mga elemento na nilikha gamit ang TreeSet interface ay kinukuha bilang output sa sumusunod na snap ng output:



Halimbawa 2

Matapos gawin ang TreeSet, maaaring ma-access ang mga elemento gamit ang built-in na paraan na sinusuportahan ng TreeSet. Sinusuri ng contains() method ang partikular na elemento sa TreeSet. Kinukuha ng first() na paraan ang paunang elemento ng TreeSet, habang ang huling() na pamamaraan ay kinukuha ang end element ng TreeSet.

Pagkatapos mag-import ng utility class, tinukoy namin ang isang klase na 'AccessingTreeSet'. Susunod, inilagay namin ang pangunahing() na pamamaraan sa tinukoy na klase ng Java para sa pag-access sa mga elemento ng TreeSet. Nagdeklara kami ng isang bagay na 'Mga Kulay' ng uri ng NavigableSet na may reference sa klase ng TreeSet. Ang TreeSet() ay walang laman, na idinagdag sa mga halaga ng string sa pamamagitan ng paggamit ng add() na paraan. Dito, nagdagdag kami ng tatlong halaga ng string, ang pangalan ng iba't ibang kulay. Pagkatapos nito, ang mga halaga ng TreeSet ay ipapakita sa screen sa pamamagitan ng print statement. Susunod, gumawa kami ng variable na 'hanapin' kung saan sinisimulan ang string upang suriin. Upang suriin kung ang string ay umiiral sa ibinigay na Puno, tinawag namin ang contains() na paraan at idinagdag ang variable na 'hanapin' bilang isang parameter. Ang Contains() method ay nagpapatunay sa pagkakaroon ng tinukoy na string element mula sa TreeSet at bumubuo ng mga Boolean na resulta. Dagdag pa, nakuha din namin ang una at huling elemento sa TreeSet mula sa first() na pamamaraan at huling() na pamamaraan. Ang parehong mga pamamaraan ay bumubuo ng partikular na elemento na inilagay sa una at huling posisyon sa ibinigay na TreeSet.

Ang pagsuri sa partikular na string mula sa contains() na paraan ay nagbabalik ng tunay na halaga, na nagpapakita na ang elemento ng string ay bahagi ng contains() na pamamaraan. Susunod, ang unang halaga ng TreeSet at ang huling halaga ay ipinapakita din sa ibaba:

Halimbawa 3

Ang una at huling elemento ay na-access sa nakaraang halimbawa. Upang ma-access at alisin ang pinakamataas at pinakamababang elemento, ang pollFirst() at pollLast() na paraan ay ginagamit. Ang pollFirst() na paraan ay ginagamit upang kunin at alisin ang pinakamababang elemento mula sa una. Ang pollLast() na paraan ay inilapat upang hanapin at alisin ang pinakamataas na elemento mula sa huling ng TreeSet.

Ang programa ay itinatag sa klase ng Java na 'LowerAndHigherValueFromTreeSet' kung saan ang pangunahing() na pamamaraan ay itinayo. Dito, ibinigay namin ang interface ng TreeSet mula sa klase ng TreeSet sa pamamagitan ng pagdedeklara ng object na 'IntegerSet'. Sa una, lumikha kami ng isang walang laman na TreeSet na maaaring idagdag sa elemento sa pamamagitan ng paggamit ng add() na paraan. Ang mga item na Integer ay na-load sa TreeSet gamit ang add() na paraan.

Pagkatapos noon, nagbigay kami ng print statement gamit ang pollFirst() method at pollLast(). Ang pollFirst() na paraan ay nakakakuha ng unang pinakamababang elemento mula sa tinukoy na TreeSet. Sa kabilang banda, ang pollLast() na paraan ay nakakakuha ng pinakamataas na elemento mula sa huli ng TreeSet.

Ang mga resulta ay nakuha mula sa pollFirst() at ang pollLast() na mga pamamaraan na nagpakita ng pinakamababa at pinakamataas na elemento mula sa TreeSet sa output.

Halimbawa 4

Ang clear() na paraan ay ginagamit upang i-clear ang lahat ng mga elemento na naroroon sa TreeSet. Ang walang laman na TreeSet ay ibinalik sa sandaling ang clear() na pamamaraan ay ipinatupad sa TreeSet.

Ang pampublikong klase na 'ClearTreeSet' ay nakatakda sa pangunahing() na pamamaraan sa nakaraang programa. Nakabuo kami ng walang laman na TreeSet doon, na nakatakda sa variable ng klase ng TreeSet na 'SetElements'. Pagkatapos, ipinasok namin ang mga random na numero sa tulong ng paraan ng add() sa loob ng TreeSet. Susunod, nag-print kami ng TreeSet upang ipakita ang mga elemento sa loob nito. Pagkatapos ng pagpapakita, ginamit namin ang clear() na paraan upang i-clear ang TreeSet.

Halimbawa 5

Hindi papayagan ng TreeSet ang pagdaragdag ng mga magkakaibang elemento. Kung susubukan naming magdagdag ng mga heterogenous na bagay ng klase, ang 'classCastException' ay itatapon sa panahon ng runtime. Ang treeSet ay tumatanggap lamang ng mga bagay na homogenous at maihahambing.

Na-deploy namin ang pangunahing() na pamamaraan sa loob ng klase ng Java na 'HeterogenousObjectTreeSet' kung saan itinakda namin ang interface ng TreeSet. Ang TreeSet ay tinukoy sa object na 'CharSet'. Ang mga elemento ay idinagdag sa bagay na 'CharSet' ng TreeSet. Ipinasok namin ang mga maihahambing na elemento sa interface ng StringBuffer. Tandaan na ang huling elemento sa loob ng TreeSet ay heterogenous, na isang integer na halaga. Pagkatapos, nag-print kami ng mga elemento ng TreeSet upang makuha ang mga resulta ng pagkuha ng heterogenous na elemento.

Ang mga resulta ay nagpapakita na ang unang index na halaga ng TreeSet ay hindi ipinapakita, ngunit ang lahat ng mga elemento ng character ay ipinapakita sa screen dahil sa maihahambing na mga bagay.

Konklusyon

Ang klase ng Java TreeSet ay binubuo lamang ng mga natatanging elemento tulad ng HashSet. Ang TreeSet ay ang pinakamainam na paraan upang mag-imbak ng malalaking dami ng nauugnay na data dahil sa mabilis nitong pag-access at mga tagal ng pagkuha, na nagpapadali sa mabilis na pagtuklas ng data. Sinasaklaw ng dokumento ang mga batayan ng klase ng TreeSet, kasama ang deklarasyon nito. Bukod pa rito, tinatalakay din dito ang iba't ibang pamamaraan at operasyon.