Java HashMap vs Hashtable: Jaký je rozdíl?



Tento článek o prostředí Java HashMap vs Hashtable vám poskytne informace o prostředí Java HashMap a Hashtable a také o hlavních rozdílech mezi těmito dvěma

Na vstupní úrovni jeden z nejčastěji dotazovaných je o Java HashMap vs Hashtable. Musíte tedy být plně připraveni odpovědět na cokoli, co s tím souvisí HashMap nebo Hashtable. Java využívá k ukládání dat ve formě HashMap a Hashtable klíč a hodnoty . Tento článek vám tedy pomůže poznat hlavní rozdíly mezi těmito dvěma.

Budu diskutovat o tématech v následujícím pořadí:





Pojďme začít!

příklad aplikace MVC v Javě

Co je HashMap?

HashMap je třída kolekce založená na mapě v který se používá k ukládání dat v párech klíč a hodnota. Pomáhá při implementaci rozhraní Map v Javě. Je to v podstatě součást od verze Java 1.2 a poskytuje základní implementaci rozhraní Map v Javě. Pro přístup k hodnotě v rámci HashMap musíte znát její Klíč .



Nazývá se HashMap, protože používá techniku ​​zvanou Hashing . Hashing je proces přeměny velkého na menší zachováním hodnoty řetězce jako konstantní. Výsledná komprimovaná hodnota pomáhá při indexování a rychlejším vyhledávání.

HashMap v prostředí Java-JavaHashMap vs Hashtable-Edureka

Co je Hashtable?

Hashtable je datová struktura který se používá k ukládání párů klíč / hodnota. V Hashtable jsou data uložena ve formátu pole, kde každá datová hodnota má svou vlastní jedinečnou hodnotu indexu. K datům máte opravdu rychlý přístup, pokud znáte index požadovaných dat.



Třída Java Hashtable implementuje hashtable, který mapuje klíče na hodnoty. Zdědí třídu Dictionary a implementuje rozhraní Map.

která metoda třídy skeneru čte řetězec?

Prohlášení o hashtable

public class Hashtable extends Dictionary implementuje Map, Cloneable, Serializable

K: Jedná se o typ klíčů, které mapa.
PROTI: Toto je typ mapovaných hodnot.

Nyní, když jste pochopili, jak HashMap a Hashtable v Javě fungují, pojďme se podívat na parametry, abychom pochopili rozdíly mezi HashMap a Hashtable.

Nyní upozorníme na hlavní rozdíly mezi HashMap a Hashtable.

Java HashMap vs Hashtable

Parametry HashMap Hashtable

Synchronizace

Nesynchronizovaný, což znamená, že není bezpečný pro vlákna a nelze jej sdílet mezi mnoha vlákny bez správného synchronizačního kódu.Synchronizováno a lze jej sdílet s mnoha vlákny

Nulové klíče

Umožňuje pouze jeden nulový klíč a více hodnot nullNepovoluje nulový klíč ani jeho hodnotu

Legacy System

Toto je součást kolekcí JavaHashtable je starší třída, která nebyla součástí počáteční verze

Iterátor

Iterátor je rychlý při selhání a vyvolá concurrentModificationException, pokud se jakékoli jiné vlákno pokusí upravit mapuVýčet není rychlý při selhání

Dědičná třída

Dědí AbstractMap třídaZdědí třídu slovníku

Kdy můžete nyní použít Java HashMap a Hashtable?

co je znak v Javě

Kdy použít HashMap a Hashtable?

  • Synchronizace je hlavní rozdíl mezi Java HashMap a Hashtable. Pokud však potřebujete operaci bezpečnou pro vlákna, lze použít Hashtable, protože jsou synchronizovány všechny jeho metody. Ale toto je starší třída a je třeba se jim vyhnout. To není možné pomocí HashMap.
  • Pro prostředí s více vlákny můžete použít ConcurrentHashMap, který je téměř podobný Hashtable. Zde můžete dokonce explicitně synchronizovat HashMap
  • Výsledkem synchronizované operace je špatný výkon, takže je třeba se jí vyhnout, dokud a pokud to není nutné. Proto pro prostředí bez podprocesů je HashMap rozhodně používán bez jakýchkoli pochybností.

Tím se dostáváme na konec tohoto článku, kde jsme se naučili rozdíly mezi Java HashMap a Hashtable. Doufám, že máte s tímto tématem jasno.

Pokud jste shledali tento článek jako „Java HashMap vs Hashtable“ relevantní, podívejte se na důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Kurz je navržen tak, aby vám poskytl náskok a naučit vás základní i pokročilé koncepty Java spolu s různými jako Hibernate & Spring.

Pokud narazíte na jakékoli dotazy, neváhejte se zeptat na všechny své dotazy v sekci komentářů „Java HashMap vs Hashtable“ a náš tým vám rád odpoví.