Klíčový rozdíl – TreeSet vs TreeMap
Pole se používá k uložení sady datových prvků stejného typu. Většina programovacích jazyků podporuje pole. I když pole může uložit více hodnot; je zde velká nevýhoda. Jakmile je pole vytvořeno, není možné jej změnit. Pokud programátor deklaroval pole 10 prvků, nemůže uložit 15 prvků. Když programátor deklaruje pole 10 prvků a uloží pouze 5 prvků, zbytek přidělené paměti je plýtvání. Programovací jazyky, jako je Java, mají kolekce pro dynamické ukládání datových prvků. Kolekcí je celá řada. Kolekce pomáhají provádět přidávání, odebírání prvků a další operace. Základní rozhraní je známé jako Collection. Set, List a Queue jsou některá rozhraní, která rozšiřují rozhraní kolekce. Mapa je rozhraním hierarchie kolekce, ale nerozšiřuje rozhraní kolekce. TreeSet je třída, která implementuje rozhraní Set a ukládá prvky ve vzestupném pořadí. TreeMap je třída, která implementuje rozhraní Map a ukládá páry klíč, hodnota ve vzestupném pořadí. To je klíčový rozdíl. Tento článek pojednává o rozdílu mezi TreeSet a TreeMap.
Co je TreeSet?
TreeSet je třída, která implementuje rozhraní Set. TreeSet zachovává jedinečné prvky. TreeSet implementuje rozhraní NavigableSet. Rozhraní Navigable rozšiřuje rozhraní SortedSet, Set, Collection a Iterable v hierarchickém pořadí. TreeSet ukládá prvky ve vzestupném pořadí. Pokud je pořadí vložení A, C, B, TreeSet je uloží jako A, B, C. Existují metody TreeSet. Metoda add se používá k přidání prvku do sady. Metoda remove se používá k odstranění zadaného prvku. K odstranění všech prvků se používá jasná metoda. Metoda obsahuje vrátí hodnotu true, pokud je zadaný prvek v sadě přítomen. Jsou to některé metody poskytované TreeSet. Viz níže uvedený program.
Obrázek 01: Program pomocí TreeSet
Podle výše uvedeného programu je Treeset objekt typu TreeSet. Může ukládat řetězce. Prvky se přidávají pomocí metody add. Pořadí vložení je A, C, D a B. Pomocí iterátoru se uložené hodnoty vytisknou na obrazovku. Prvky jsou uloženy v pořadí A, B, C, D. Proto TreeSet udržuje vzestupné pořadí prvků Setu. Pokud existuje jiný prvek jako „D“, nevytiskne se, protože prvek D již v sadě existuje. Vždy uchovává jedinečné prvky.
Co je TreeMap?
TreeMap je třída, která implementuje rozhraní Map. Mapa podporuje páry klíč–hodnota. Každý pár klíč, hodnota je záznam. Každý klíč je jedinečný a má odpovídající hodnotu. Metoda obsahujeKey se používá k nalezení konkrétního klíče, zatímco metoda obsahujeValue se používá k nalezení konkrétní hodnoty. K nalezení hodnoty odpovídající danému klíči se používá metoda get. Metoda put se používá k uložení hodnoty s daným klíčem. Je také možné odstranit prvek na určitém klíči pomocí metody remove. To jsou některé běžné metody rozhraní mapy. Pomáhá vyhledávat, vkládat a mazat prvky na základě klíče. Třída TreeMap implementuje NavigableMap. NavigableMap rozšiřuje SortedMap. SortedMap rozšiřuje Mapu. Proto lze metody Map použít s TreeMap. Viz níže uvedený program.
Obrázek 02: Program využívající TreeMap
Podle výše uvedeného programu je vytvořen objekt TreeMap. Programátor může přidávat prvky pomocí objektu. Metoda put se používá pro vložení párů klíč, hodnota. Metoda get se používá se specifickým klíčem k načtení prvků. Programátor může použít Map. Entry k vytištění všech klíčů a hodnot. Při pozorování výstupu nezachovává vložené pořadí. Ukládá prvky ve vzestupném pořadí.
Jaké jsou podobnosti mezi TreeSet a TreeMap?
- TreeSet i TreeMap jsou v hierarchii kolekcí.
- TreeSet i TreeMap udržují vzestupné pořadí.
- TreeSet i TreeMap mohou ukládat a manipulovat s mnoha prvky.
Jaký je rozdíl mezi TreeSet a TreeMap?
TreeSet vs TreeMap |
|
TreeSet je třída, která implementuje rozhraní Set a ukládá prvky ve vzestupném pořadí. | TreeMap je třída, která implementuje rozhraní Map a ukládá páry klíč, hodnota ve vzestupném pořadí. |
Implementované rozhraní | |
TreeSet implementuje rozhraní Set. | TreeMap implementuje mapové rozhraní. |
Shrnutí – TreeSet vs TreeMap
Pole se používá k uložení sady prvků, ale nepomáhá dynamicky ukládat prvky. Programovací jazyky, jako je Java, obsahují kolekce pro dynamické ukládání datových prvků. Kolekce je základní třída v hierarchii kolekce. Skládá se z tříd a rozhraní pro provádění operací, jako je přidávání a odstraňování prvků. Set a Map jsou dvě rozhraní hierarchie kolekce. TreeSet je třída, která implementuje rozhraní Set a ukládá prvky ve vzestupném pořadí. TreeMap je třída, která implementuje rozhraní Map a ukládá páry klíč, hodnota ve vzestupném pořadí. To je rozdíl mezi TreeSet a TreeMap.