Tofauti Kati ya TreeSet na TreeMap

Orodha ya maudhui:

Tofauti Kati ya TreeSet na TreeMap
Tofauti Kati ya TreeSet na TreeMap

Video: Tofauti Kati ya TreeSet na TreeMap

Video: Tofauti Kati ya TreeSet na TreeMap
Video: What is the difference between HashMap and TreeMap 2024, Novemba
Anonim

Tofauti Muhimu – TreeSet vs TreeMap

Safu hutumika kuhifadhi seti ya vipengele vya data vya aina moja. Lugha nyingi za programu zinaunga mkono Arrays. Ingawa safu inaweza kuhifadhi thamani nyingi; kuna hasara kubwa. Mara tu safu imeundwa, haiwezekani kuibadilisha. Ikiwa mpangaji programu alitangaza safu ya vipengele 10, basi hawezi kuhifadhi vipengele 15. Wakati programu inatangaza safu ya vipengele 10 na kuhifadhi vipengele 5 tu, kumbukumbu iliyobaki iliyotengwa ni kupoteza. Lugha za kupanga kama vile Java ina Mikusanyiko ya kuhifadhi vipengele vya data kwa nguvu. Kuna idadi ya makusanyo. Mikusanyiko husaidia kuongeza, kuondoa vipengele na shughuli nyingine. Kiolesura cha msingi kinajulikana kama Mkusanyiko. Kuweka, Orodha na Foleni ni baadhi ya violesura vinavyopanua kiolesura cha Mkusanyiko. Ramani ni kiolesura cha daraja la mkusanyo, lakini haiendelezi kiolesura cha Mkusanyiko. TreeSet ni darasa linalotumia kiolesura cha Set na kuhifadhi vipengele kwa mpangilio wa kupanda. TreeMap ni darasa linalotumia kiolesura cha Ramani na kuhifadhi vitufe, jozi za thamani kwa mpangilio wa kupanda. Hiyo ndiyo tofauti kuu. Makala haya yanajadili tofauti kati ya TreeSet na TreeMap.

TreeSet ni nini?

The TreeSet ni darasa linalotumia kiolesura cha Set. TreeSet hudumisha vipengele vya kipekee. TreeSet hutumia kiolesura cha NavigableSet. Kiolesura cha Kuelekeza kinapanua miingiliano ya SortedSet, Set, Collection na Iterable kwa mpangilio wa daraja. TreeSet huhifadhi vipengele kwa mpangilio wa kupanda. Ikiwa mpangilio wa uwekaji ni A, C, B, TreeSet itazihifadhi kama A, B, C. Kuna mbinu za TreeSet. Njia ya kuongeza hutumiwa kuongeza kipengee kwenye Seti. Njia ya kuondoa hutumiwa kuondoa kipengele maalum. Njia ya wazi hutumiwa kuondoa vipengele vyote. Mbinu iliyo na inarudisha kweli ikiwa kipengee kilichobainishwa kipo kwenye Seti. Ni baadhi ya mbinu zinazotolewa na TreeSet. Rejelea programu iliyo hapa chini.

Tofauti kati ya TreeSet na TreeMap
Tofauti kati ya TreeSet na TreeMap

Kielelezo 01: Mpango kwa kutumia TreeSet

Kulingana na mpango ulio hapo juu, Treeset ni kifaa cha aina ya TreeSet. Inaweza kuhifadhi Strings. Vipengele vinaongezwa kwa kutumia njia ya kuongeza. Agizo la kuingiza ni A, C, D na B. Kwa kutumia kiboreshaji, maadili yaliyohifadhiwa yanachapishwa kwenye skrini. Vipengele vinahifadhiwa kwa utaratibu A, B, C, D. Kwa hiyo, TreeSet inaweka utaratibu wa kupanda wa vipengele vya Kuweka. Ikiwa kuna kipengele kingine kama "D" hakitachapishwa kwa sababu kipengele D tayari kipo kwenye Seti. Daima huhifadhi vitu vya kipekee.

TreeMap ni nini?

TreeMap ni darasa linalotumia kiolesura cha Ramani. Ramani inasaidia jozi za thamani-msingi. Kila ufunguo, jozi ya thamani ni ingizo. Kila ufunguo ni wa kipekee na una thamani inayolingana. Mbinu ya containKey inatumika kupata ufunguo maalum huku inaValue mbinu ikitumika kupata thamani mahususi. Njia ya kupata hutumiwa kupata thamani inayolingana na ufunguo uliopewa. Njia ya kuweka hutumiwa kuhifadhi thamani na ufunguo uliotolewa. Inawezekana pia kuondoa kipengele kwenye ufunguo maalum kwa kutumia njia ya kuondoa. Hizo ni baadhi ya mbinu za kawaida za kiolesura cha Ramani. Inasaidia kutafuta, kuingiza na kufuta vipengele kulingana na ufunguo. Darasa la TreeMap hutumia NavigableMap. NavigableMap huongeza SortedMap. SortedMap huongeza Ramani. Kwa hivyo, njia za Ramani zinaweza kutumika na TreeMap. Rejelea programu iliyo hapa chini.

Tofauti Muhimu Kati ya TreeSet na TreeMap
Tofauti Muhimu Kati ya TreeSet na TreeMap

Kielelezo 02: Mpango kwa kutumia TreeMap

Kulingana na mpango ulio hapo juu, kitu cha TreeMap kimeundwa. Msanidi programu anaweza kuongeza vipengele kwa kutumia kitu. Njia ya kuweka hutumiwa kuingiza ufunguo, jozi za thamani. Njia ya kupata hutumiwa na ufunguo maalum wa kuleta vipengele. Kitengeneza programu kinaweza kutumia Map. Entry kuchapisha vitufe na thamani zote. Wakati wa kuchunguza pato, haihifadhi utaratibu ulioingizwa. Huhifadhi vipengele kwa mpangilio wa kupanda.

Je, Kuna Ufanano Gani Kati ya TreeSet na TreeMap?

  • Zote TreeSet na TreeMap ziko katika daraja la mkusanyiko.
  • Wote TreeSet na TreeMap hudumisha mpangilio wa kupanda.
  • TreeSet na TreeMap zinaweza kuhifadhi na kudhibiti vipengele vingi.

Kuna tofauti gani kati ya TreeSet na TreeMap?

TreeSet vs TreeMap

TreeSet ni darasa linalotumia kiolesura cha Set na kuhifadhi vipengele kwa mpangilio wa kupanda. TreeMap ni darasa linalotumia kiolesura cha Ramani na kuhifadhi vitufe, jozi za thamani kwa mpangilio wa kupanda.
Kiolesura Kilichotekelezwa
Zana za TreeSet Weka kiolesura. TreeMap inatumia kiolesura cha Ramani.

Muhtasari – TreeSet vs TreeMap

Safu hutumika kuhifadhi seti ya vipengele, lakini haisaidii kuhifadhi vipengele kwa nguvu. Lugha za kupanga kama vile Java zina Mikusanyiko ya kuhifadhi vipengele vya data kwa ubadilikaji. Mkusanyiko ni darasa la msingi katika uongozi wa mkusanyiko. Inajumuisha madarasa na violesura vya kufanya shughuli kama vile kuongeza, kufuta vipengele. Set na Ramani ni violesura viwili vya daraja la Mkusanyiko. TreeSet ni darasa linalotumia kiolesura cha Set na kuhifadhi vipengele kwa mpangilio wa kupanda. TreeMap ni darasa linalotumia kiolesura cha Ramani na kuhifadhi vitufe, jozi za thamani kwa mpangilio wa kupanda. Hiyo ndiyo tofauti kati ya TreeSet na TreeMap.

Ilipendekeza: