Rozdíl mezi HashMap a TreeMap

Obsah:

Rozdíl mezi HashMap a TreeMap
Rozdíl mezi HashMap a TreeMap

Video: Rozdíl mezi HashMap a TreeMap

Video: Rozdíl mezi HashMap a TreeMap
Video: Разница между HashMap и TreeMap Java собеседование 2024, Prosinec
Anonim

Klíčový rozdíl – HashMap vs TreeMap

V programování existují různé mechanismy pro sběr dat. Kolekce jsou jednou z metod ukládání dat. Programovací jazyky, jako je Java, používají kolekce. Je to rámec s třídami a rozhraními pro ukládání a manipulaci se sadou datových prvků. V normálním poli je k uložení pevný počet prvků. To je omezení polí. Místo toho může programátor používat kolekce. Operace jako vkládání, mazání, třídění a vyhledávání lze provádět pomocí kolekcí. V Javě patří rozhraní Map ke sbírkám. Mapa se používá k reprezentaci dat v párech klíč, hodnota. Existují pouze jedinečné klíče a každý má odpovídající hodnotu. HashMap a TreeMap jsou třídy, které implementují rozhraní Map. HashMap je třída kolekce založená na mapě, která se používá k ukládání párů klíčů a hodnot, které neudržují konkrétní pořadí v datových prvcích. Stromová mapa je třída kolekce založená na mapě, která se používá pro ukládání párů klíčů a hodnot, které udržují vzestupné pořadí datových prvků. Klíčový rozdíl mezi HashMap a TreeMap je v tom, že HashMap neuchovává konkrétní pořadí v datových prvcích, zatímco TreeMap zachovává vzestupné pořadí datových prvků.

Co je HashMap?

HashMap je třída, která implementuje mapové rozhraní. Rozšiřuje třídu AbstractMap a implementuje rozhraní Map. HashMap obsahuje páry klíč, hodnota. Každý prvek je jedinečný. Pomocí klávesy je snadné najít prvky v HashMap. HashMap se deklaruje následovně.

veřejná třída HashMap rozšiřuje AbstractMap o implementaci Map, Cloneable, Serializable

K označuje klíč, zatímco V označuje hodnotu odpovídající tomuto konkrétnímu klíči. Každý pár klíč, hodnota je záznamem HashMap.

Rozdíl mezi HashMap a TreeMap
Rozdíl mezi HashMap a TreeMap

Obrázek 01: Mapové rozhraní

Abyste pochopili HaspMap, předpokládejte následující scénář. Pokud tam chce programátor uložit sadu jmen studentů a odpovídající indexová čísla, může použít HashMap. Jména studentů se používají k nalezení indexových čísel. Proto jsou klíčem jména studentů, zatímco čísla indexů jsou hodnoty.

Rozdíl mezi HashMap a TreeMap_Obrázek 02
Rozdíl mezi HashMap a TreeMap_Obrázek 02

Obrázek 02: Program HashMap využívající Javu

Podle výše uvedeného programu je vytvořen objekt HashMap. Poté může programátor přidávat prvky pomocí tohoto objektu. Hodnoty lze vkládat pomocí metody put. K načtení hodnot by měl programátor použít metodu get s klíčem. Při použití studentList.get(“150”); vypíše odpovídající jméno toho indexu, kterým je Ann. Pokud chce programátor získat všechny hodnoty, pak může pomocí Map. Entry vytisknout všechny klíče a hodnoty. Při pozorování výstupu je vidět, že HashMap neudržuje konkrétní pořadí. Netiskne prvky ve vložené objednávce. Prvky jsou vytištěny v náhodném pořadí.

Co je TreeMap?

Stromová mapa je třída v Javě, která implementuje rozhraní Map. Podobně jako HashMap se také používá pro ukládání párů klíč, hodnota, ale ve vzestupném pořadí. TreeMap implementuje NavigableMap a NavigableMap rozšiřuje SortedMap a SortedMap rozšiřuje mapu. Každý prvek je jedinečný. Vyhlášení stromové mapy je následující.

veřejná třída TreeMap rozšiřuje AbstractMap implementuje NavigableMap, Cloneable, Serializable

K označuje klíč, zatímco V označuje hodnotu odpovídající tomuto konkrétnímu klíči. Každý pár klíč, hodnota je záznamem stromové mapy.

Klíčový rozdíl mezi HashMap a TreeMap
Klíčový rozdíl mezi HashMap a TreeMap

Obrázek 03: Program TreeMap využívající Javu

Podle výše uvedeného programu je vytvořen objekt TreeMap. Poté může programátor přidávat prvky pomocí tohoto objektu. Hodnoty lze vkládat pomocí metody put. K načtení hodnot by měl programátor použít metodu get s klíčem. Při použití studentList.get(“150”); vypíše odpovídající jméno toho indexu, kterým je Ann. Pokud chce programátor získat všechny hodnoty, pak může pomocí Map. Entry vytisknout všechny klíče a hodnoty. Při pozorování výstupu je vidět, že TreeMap zachovává konkrétní pořadí. Prvky jsou vytištěny ve vzestupném pořadí.

Jaké jsou podobnosti mezi HashMap a TreeMap?

  • HashMap i TreeMap implementují rozhraní Map.
  • HashMap i TreeMap mohou ukládat a manipulovat s mnoha prvky.
  • HashMap i TreeMap obsahují páry klíč, hodnota.
  • HashMap i TreeMap mohou mít mnoho hodnot null.
  • Počet prvků, které lze uložit v HashMap i TreeMap, není omezen.

Jaký je rozdíl mezi HashMap a TreeMap?

HashMap vs TreeMap

HashMap je třída kolekce založená na mapách, která se používá k ukládání párů klíčů a hodnot, které neudržují konkrétní pořadí v datových prvcích. Stromová mapa je třída kolekce založená na mapách, která se používá pro ukládání párů klíčů a hodnot, která udržuje vzestupné pořadí datových prvků.
Objednávka
HashMap neudržuje objednávku. Stromová mapa udržuje vzestupné pořadí.
Null Key
HashMap může obsahovat jeden klíč null. Stromová mapa nemůže mít nulový klíč.
Výkon
HashMap je rychlejší než TreeMap. TreeMap je pomalejší než HashMap.

Shrnutí – HashMap vs TreeMap

Programovací jazyky jako Java obsahují framework kolekce. V polích může být pevný počet prvků. Velikost pole by proto měla být inicializována na začátku. V kolekcích může programátor uložit mnoho prvků podle potřeby. Neexistuje žádná konkrétní částka k uložení. Mapa je rozhraní patřící do rámce kolekce. HashMap je třída kolekce založená na mapě, která se používá pro ukládání párů klíčů a hodnot, které neudržují konkrétní pořadí v datových prvcích. TreeMap je třída kolekce založená na mapě, která se používá pro ukládání párů klíčů a hodnot, která udržuje vzestupné pořadí datových prvků. Tento článek pojednával o rozdílu mezi HashMap a TreeMap, který implementuje rozhraní Map. Rozdíl mezi HashMap a TreeMap je v tom, že HashMap neuchovává konkrétní pořadí v datových prvcích, zatímco TreeMap zachovává vzestupné pořadí datových prvků.

Doporučuje: