Klíčový rozdíl - HashMap vs TreeMap
V programování existují různé mechanismy pro sběr dat. Kolekce je jednou z metod ukládání dat. Programovací jazyky, jako je Java, používají kolekce. Jedná se o rámec s třídami a rozhraními pro ukládání a manipulaci se sadou datových prvků. V normálním poli existuje pevný počet prvků k uložení. To je omezení polí. Místo toho může programátor používat kolekce. Pomocí sbírek lze provádět operace, jako je vkládání, mazání, třídění a vyhledávání. V Javě patří rozhraní Map do sbírek. Mapa se používá k reprezentaci dat v párech klíč - hodnota. Existují pouze jedinečné klíče a každý z nich má odpovídající hodnotu. HashMap a TreeMap jsou třídy, které implementují rozhraní Map. HashMap je mapa založená na kolekci třídy, 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. TreeMap je Mapová kolekce založená na třídě, která se používá k ukládání párů klíčů a hodnot, které udržují vzestupné pořadí datových prvků. Klíčovým rozdílem mezi HashMap a TreeMap je, že HashMap neudržuje konkrétní pořadí v datových prvcích, zatímco TreeMap udržuje vzestupné pořadí datových prvků.
OBSAH
1. Přehled a klíčový rozdíl
2. Co je HashMap
3. Co je TreeMap
4. Podobnosti mezi HashMap a TreeMap
5. Porovnání vedle sebe - HashMap vs TreeMap ve formě tabulky
6. Shrnutí
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ý. Je snadné najít prvky v HashMap pomocí klíče. Deklarace HashMap je následující.
veřejná třída HashMap rozšiřuje AbstractMap implementuje 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: Rozhraní mapy
Předpokládejme následující scénář, abyste pochopili HaspMap. Pokud tam programátor chce uložit sadu jmen studentů a odpovídající čísla indexů, může použít HashMap. Jména studentů se používají k vyhledání čísel indexu. Názvy studentů jsou tedy klíče, zatímco indexová čísla jsou hodnoty.
Obrázek 02: Program HashMap pomocí Java
Podle výše uvedeného programu je vytvořen objekt HashMap. Potom může programátor pomocí tohoto objektu přidat prvky. Hodnoty lze vložit pomocí metody put. Pro načtení hodnot by měl programátor použít metodu get s klíčem. Při použití studentListList.get („150“); vytiskne odpovídající název indexu, kterým je Ann. Pokud chce programátor získat všechny hodnoty, může k vytištění všech klíčů a hodnot použít Map. Entry. Při pozorování výstupu je vidět, že HashMap neudržuje konkrétní pořadí. Nevytiskne prvky v vloženém pořadí. Prvky se tisknou v náhodném pořadí.
Co je TreeMap?
TreeMap je třída v Javě, která implementuje rozhraní Map. Podobně jako HashMap se také používá k ukládání párů klíčů a hodnot, ale ve vzestupném pořadí. TreeMap implementuje NavigableMap a NavigableMap rozšiřuje SortedMap a SortedMap rozšiřuje Map. Každý prvek je jedinečný. Deklarace TreeMap 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 TreeMap.
Obrázek 03: Program TreeMap využívající prostředí Java
Podle výše uvedeného programu je vytvořen objekt TreeMap. Potom může programátor pomocí tohoto objektu přidat prvky. Hodnoty lze vložit pomocí metody put. Pro načtení hodnot by měl programátor použít metodu get s klíčem. Při použití studentListList.get („150“); vytiskne odpovídající název indexu, kterým je Ann. Pokud chce programátor získat všechny hodnoty, může k vytištění všech klíčů a hodnot použít Map. Entry. Při pozorování výstupu je vidět, že TreeMap udržuje konkrétní pořadí. Prvky se tisknou vzestupně.
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 obsahuje 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í nijak omezen.
Jaký je rozdíl mezi HashMap a TreeMap?
Rozdílný článek uprostřed před tabulkou
HashMap vs TreeMap |
|
HashMap je třída založená na kolekci 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. | TreeMap je Mapová kolekce založená na třídě, která se používá k ukládání párů klíčů a hodnot, která udržuje vzestupné pořadí datových prvků. |
Objednat | |
HashMap neudržuje pořadí. | TreeMap udržuje vzestupné pořadí. |
Nulový klíč | |
HashMap může obsahovat jeden prázdný klíč. | TreeMap 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 je Java, obsahují rámec kolekce. V polích může existovat pevný počet prvků. Proto by měla být velikost pole inicializována na začátku. V kolekcích může programátor podle potřeby uložit mnoho prvků. Neexistuje žádné konkrétní množství k uložení. Mapa je rozhraní patřící do kolekce framework. HashMap je třída založená na kolekci 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. TreeMap je Mapová kolekce založená na třídě, která se používá k 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 spočívá v tom, že HashMap neudržuje konkrétní pořadí v datových prvcích, zatímco TreeMap udržuje vzestupné pořadí datových prvků.