HashMap менен TreeMap ортосундагы айырма

Мазмуну:

HashMap менен TreeMap ортосундагы айырма
HashMap менен TreeMap ортосундагы айырма

Video: HashMap менен TreeMap ортосундагы айырма

Video: HashMap менен TreeMap ортосундагы айырма
Video: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов. 2024, Ноябрь
Anonim

Негизги айырма – HashMap жана TreeMap

Программалоодо маалыматтарды чогултуунун ар кандай механизмдери бар. Коллекциялар маалыматтарды сактоонун бир ыкмасы болуп саналат. Java сыяктуу программалоо тилдери Коллекцияларды колдонот. Бул маалымат элементтеринин топтомун сактоо жана манипуляциялоо үчүн класстары жана интерфейстери бар алкак. Кадимки массивде сактала турган элементтердин белгиленген саны бар. Бул массивдердин чектөөсү. Анын ордуна, программист коллекцияларды колдоно алат. Кыстаруу, жок кылуу, сорттоо жана издөө сыяктуу операциялар коллекциялар аркылуу аткарылышы мүмкүн. Java тилинде Карта интерфейси коллекцияларга таандык. Карта ачкыч, маани жуптарындагы маалыматтарды көрсөтүү үчүн колдонулат. Уникалдуу ачкычтар гана бар жана алардын ар бири тиешелүү мааниге ээ. HashMap жана TreeMap Карта интерфейсин ишке ашыруучу класстар. HashMap - бул маалымат элементтеринде белгилүү бир тартипти сактабаган ачкыч жана маани жуптарын сактоо үчүн колдонулган Картага негизделген коллекция классы. TreeMap - бул маалымат элементтеринин өсүү тартибин сактаган ачкыч жана маани жуптарын сактоо үчүн колдонулган Картага негизделген коллекция классы. HashMap менен TreeMap ортосундагы негизги айырма, HashMap маалымат элементтеринде белгилүү бир тартипти сактабайт, ал эми TreeMap маалымат элементтеринин өсүү тартибин сактайт.

HashMap деген эмне?

HashMap – бул карта интерфейсин ишке ашыруучу класс. Ал AbstractMap классын кеңейтет жана Map интерфейсин ишке ашырат. HashMap ачкыч, маани жуптарын камтыйт. Ар бир элемент уникалдуу. Ачкычты колдонуу менен HashMap элементтерин табуу оңой. HashMap жарыялоо төмөнкүдөй.

коомдук класс HashMap кеңейтилет AbstractMap Картаны ишке ашырат, Clone, Serializable

K ачкычты билдирет, ал эми V ошол конкреттүү ачкычка туура келген маанини билдирет. Ар бир ачкыч, маани жуптары HashMap жазуусу.

HashMap жана TreeMap ортосундагы айырма
HashMap жана TreeMap ортосундагы айырма

01-сүрөт: Карта интерфейси

HaspMapты түшүнүү үчүн төмөнкүдөй сценарийди кабыл алыңыз. Эгерде ал жерде программист студенттин атын жана тиешелүү индекс номерлерин сактагысы келсе, ал HashMap колдоно алат. Студенттердин аттары индекстик сандарды табуу үчүн колдонулат. Демек, студенттердин аттары ачкыч, ал эми индекс сандары маанилер болуп саналат.

HashMap жана TreeMap ортосундагы айырма _Figure 02
HashMap жана TreeMap ортосундагы айырма _Figure 02

02-сүрөт: Java колдонуучу HashMap программасы

Жогорудагы программага ылайык, HashMap объектиси түзүлгөн. Андан кийин программист ошол объектти колдонуп элементтерди кошо алат. Маанилерди коюу ыкмасын колдонуу менен киргизсе болот. Маанилерди алуу үчүн программист ачкыч менен get ыкмасын колдонушу керек. studentList.get("150") колдонууда; ал Анн деген индекске тиешелүү аталышты басып чыгарат. Эгерде программист бардык маанилерди алууну кааласа, анда ал Map. Entry аркылуу бардык ачкычтарды жана баалуулуктарды басып чыгара алат. Чыгарууну байкап жатканда, HashMap белгилүү бир тартипти сактабаганын көрүүгө болот. Ал элементтерди киргизилген тартипте басып чыгарбайт. Элементтер туш келди тартипте басылган.

TreeMap деген эмне?

TreeMap - бул Java тилиндеги класс, ал Карта интерфейсин ишке ашырат. HashMap сыяктуу, ал ачкычтарды, баалуулуктарды сактоо үчүн колдонулат, бирок өсүү тартибинде. TreeMap NavigableMap жана NavigableMap SortedMap жана SortedMap картаны кеңейтет. Ар бир элемент уникалдуу. Дарак картасын жарыялоо төмөнкүдөй.

коомдук класс TreeMap кеңейет AbstractMap NavigaableMap, Clone, Serializable ишке ашырат

K ачкычты билдирет, ал эми V ошол конкреттүү ачкычка туура келген маанини билдирет. Ар бир ачкыч, баалуулук жуптары TreeMap жазуусу.

HashMap жана TreeMap ортосундагы негизги айырма
HashMap жана TreeMap ортосундагы негизги айырма

03-сүрөт: Java менен TreeMap программасы

Жогорудагы программага ылайык, TreeMap объектиси түзүлгөн. Андан кийин программист ошол объектти колдонуп элементтерди кошо алат. Маанилерди коюу ыкмасын колдонуу менен киргизсе болот. Маанилерди алуу үчүн программист ачкыч менен get ыкмасын колдонушу керек. studentList.get("150") колдонууда; ал Анн деген индекске тиешелүү аталышты басып чыгарат. Эгерде программист бардык маанилерди алууну кааласа, анда ал Map. Entry аркылуу бардык ачкычтарды жана баалуулуктарды басып чыгара алат. Чыгарууну байкап жатканда, TreeMap белгилүү бир тартипти сактай турганын көрүүгө болот. Элементтер өсүү тартибинде басылган.

HashMap менен TreeMapтын кандай окшоштуктары бар?

  • HashMap да, TreeMap да Карта интерфейсин ишке ашырат.
  • HashMap да, TreeMap да көптөгөн элементтерди сактап жана башкара алат.
  • HashMap жана TreeMap экөө тең ачкыч, маани жуптарын камтыйт.
  • HashMap жана TreeMap экөө тең көптөгөн нөл маанилерге ээ болушу мүмкүн.
  • HashMap жана TreeMap экөө тең сактала турган элементтердин санына чектөө жок.

HashMap менен TreeMap ортосунда кандай айырма бар?

HashMap жана TreeMap

HashMap - бул маалымат элементтеринде белгилүү бир тартипти сактабаган ачкыч жана маани жуптарын сактоо үчүн колдонулган Картага негизделген коллекция классы. TreeMap – бул Картага негизделген коллекция классы, ал маалымат элементтеринин өсүү тартибин сактаган ачкыч жана маани жуптарын сактоо үчүн колдонулат.
Заказ
HashMap тартипти сактабайт. Дарак картасы өсүү тартибин сактайт.
Нул ачкыч
HashMap бир нөл баскычты камтышы мүмкүн. Дарак картасынын нөл ачкычы болушу мүмкүн эмес.
Performance
HashMap TreeMapка караганда ылдамыраак. TreeMap HashMapга караганда жайыраак.

Кыскача – HashMap жана TreeMap

Java сыяктуу программалоо тилдеринде коллекциялык негиз бар. Массивдерде элементтердин белгиленген саны болушу мүмкүн. Ошондуктан, массивдин өлчөмү башында башталышы керек. Коллекцияларда программист талап кылынган көптөгөн элементтерди сактай алат. Сактоо үчүн конкреттүү сумма жок. Карта - бул коллекциялык алкактарга таандык интерфейс. HashMap - бул маалымат элементтеринде белгилүү бир тартипти сактабаган ачкыч жана маани жуптарын сактоо үчүн колдонулган Картага негизделген коллекция классы. TreeMap - бул маалымат элементтеринин өсүү тартибин сактаган ачкыч жана маани жуптарын сактоо үчүн колдонулган Картага негизделген коллекция классы. Бул макалада Карта интерфейсин ишке ашырган HashMap менен TreeMap ортосундагы айырма талкууланды. HashMap менен TreeMap ортосундагы айырма HashMap маалымат элементтеринде белгилүү бир тартипти сактабайт, ал эми TreeMap маалымат элементтеринин өсүү тартибин сактайт.

Сунушталууда: