Rozdíl mezi HashMap a TreeMap

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

Při programování existují různé mechanismy sběru dat. Kolekce je 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 uložen pevný počet prvků. To je omezení polí. Místo toho může programátor používat kolekce. Operace, jako je vkládání, mazání, třídění a vyhledávání, lze provádět pomocí kolekcí. V Javě patří rozhraní Map k kolekcím. Mapa se používá k reprezentaci dat v páru 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 kolekce 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. TreeMap je kolekce kolekce založená na mapě, která se používá k 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 to 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 to TreeMap
4. Podobnosti mezi HashMap a TreeMap
5. Porovnání vedle sebe - HashMap vs. TreeMap v tabulkové formě
6. Shrnutí

Co je HashMap?

HashMap je třída, která implementuje rozhraní mapy. Rozšiřuje třídu AbstractMap a implementuje rozhraní Map. HashMap obsahuje páry klíčů a hodnot. Každý prvek je jedinečný. Je snadné najít prvky v HashMap pomocí klíče. Prohlášení 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 specifickému klíči. Každý pár klíčů a hodnot je záznamem HashMap.

Obrázek 01: Rozhraní mapy

Předpokládejme následující scénář, abyste pochopili HaspMap. Pokud chce programátor uložit sadu jmen studentů a odpovídajících indexových čísel, může použít HashMap. Názvy studentů se používají k nalezení indexových čísel. Proto jsou klíčem jména studentů, zatímco hodnoty indexu jsou hodnoty.

Obrázek 02: Program HashMap pomocí Java

Podle výše uvedeného programu je vytvořen objekt HashMap. Programátor pak může pomocí tohoto objektu přidat prvky. 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“); vytiskne odpovídající název do tohoto indexu, kterým je Ann. Pokud chce programátor získat všechny hodnoty, 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í objednávku. Nevytiskne prvky v vloženém pořadí. Prvky jsou vytištěny v náhodném pořadí.

Co je TreeMap?

TreeMap je třída v Javě, která implementuje rozhraní Map. Podobně jako u HashMap se používá také k ukládání párů klíčů, hodnot, 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ý. Prohlášení TreeMap je následující.

public class TreeMap rozšiřuje AbstractMap implementuje NavigableMap, Cloneable, Serializable

K označuje klíč, zatímco V označuje hodnotu odpovídající tomuto specifickému klíči. Každý pár klíčů a hodnot je položkou TreeMap.

Obrázek 03: Program TreeMap pomocí Java

Podle výše uvedeného programu je vytvořen objekt TreeMap. Programátor pak může pomocí tohoto objektu přidat prvky. 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“); vytiskne odpovídající název do tohoto indexu, kterým je Ann. Pokud chce programátor získat všechny hodnoty, může pomocí Map.Entry vytisknout všechny klíče a hodnoty. Při pozorování výstupu je vidět, že TreeMap udržuje konkrétní pořadí. Prvky jsou vytištěny 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 obsahují páry klíčů a hodnot.
  • Jak HashMap, tak TreeMap mohou mít mnoho nulových hodnot.
  • Počet prvků, které lze uložit v HashMap i TreeMap, není nijak omezen.

Jaký je rozdíl mezi HashMap a TreeMap?

HashMap vs TreeMap

HashMap je kolekce 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. TreeMap je třída kolekce založená na mapě, která se používá k ukládání párů klíčů a hodnot, které udržuje vzestupné pořadí datových prvků.
 Objednat
HashMap objednávku neudržuje. TreeMap udržuje vzestupné pořadí.
Null Key
HashMap může obsahovat jeden nulový klíč. TreeMap nemůže mít nulový klíč.
 Výkon
HashMap je rychlejší než TreeMap. TreeMap je pomalejší než HashMap.

souhrn - HashMap vs TreeMap

Programovací jazyky, jako je Java, obsahují rámec kolekce. V polích může být pevný počet prvků. Proto by měla být velikost pole inicializována na začátku. Ve sbírkách může programátor uložit mnoho prvků podle potřeby. Neexistuje žádné konkrétní množství k uložení. Mapa je rozhraní, které patří do rámce kolekce. HashMap je kolekce 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. TreeMap je třída kolekce založená na mapě, 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ává o rozdílu mezi HashMap a TreeMap, který implementuje rozhraní Map. Rozdíl mezi HashMap a TreeMap je 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ů.

Odkaz:

1. „HashMap v Javě - javatpoint.“ Bod, K dispozici zde
2. „TreeMap v Javě - javatpoint.“  Bod, K dispozici zde

Obrázek se svolením:

1.'Java.util.Map hierarchie'By ramlmn - vlastní práce, (CC BY-SA 4.0) přes Commons Wikimedia