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.
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.
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.
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ů.