Diferència clau: HashMap vs TreeMap
A la programació, hi ha diversos mecanismes per recollir dades. Les col·leccions són un mètode per emmagatzemar dades. Els llenguatges de programació com Java utilitzen Col·leccions. És un marc amb classes i interfícies per emmagatzemar i manipular un conjunt d'elements de dades. En una matriu normal, hi ha un nombre fix d'elements per emmagatzemar. Això és una limitació de les matrius. En canvi, el programador pot utilitzar col·leccions. Les operacions com inserir, suprimir, ordenar i cercar es poden realitzar mitjançant col·leccions. A Java, la interfície Map pertany a les col·leccions. El mapa s'utilitza per representar dades en parells de claus i valors. Només hi ha claus úniques i cadascuna té un valor corresponent. HashMap i TreeMap són classes que implementen la interfície Map. Un HashMap és una classe de col·lecció basada en mapes que s'utilitza per emmagatzemar parells de claus i valors que no mantenen un ordre específic en els elements de dades. Un TreeMap és una classe de col·lecció basada en mapes que s'utilitza per emmagatzemar parells de claus i valors que mantenen l'ordre ascendent dels elements de dades. La diferència clau entre HashMap i TreeMap és que HashMap no manté un ordre específic en els elements de dades, mentre que TreeMap manté l'ordre ascendent dels elements de dades.
Què és HashMap?
HashMap és una classe que implementa la interfície del mapa. Amplia la classe AbstractMap i implementa la interfície Map. Un HashMap conté parells de claus i valors. Cada element és únic. És fàcil trobar els elements a HashMap mitjançant la clau. Declarar un HashMap és el següent.
classe pública HashMap amplia l'AbstractMap implementa Map, Clonable, Serializable
La K fa referència a la clau mentre que V fa referència al valor corresponent a aquesta clau específica. Cada parell de claus i valors és una entrada de HashMap.
Figura 01: interfície del mapa
Suposa un escenari com el següent per entendre el HaspMap. Si allà el programador vol emmagatzemar un conjunt de noms d'estudiants i números d'índex corresponents, pot utilitzar el HashMap. Els noms dels estudiants s'utilitzen per trobar els números índex. Per tant, els noms dels estudiants són les claus mentre que els números d'índex són els valors.
Figura 02: programa HashMap utilitzant Java
Segons el programa anterior, es crea un objecte de HashMap. Aleshores, el programador pot afegir elements utilitzant aquest objecte. Els valors es poden inserir mitjançant el mètode put. Per obtenir els valors, el programador hauria d'utilitzar el mètode get amb la clau. Quan utilitzeu studentList.get(“150”); imprimirà el nom corresponent a aquest índex que és Ann. Si el programador vol obtenir tots els valors, pot utilitzar Map. Entry per imprimir totes les claus i valors. En observar la sortida, es pot veure que HashMap no manté un ordre específic. No imprimeix els elements en l'ordre inserit. Els elements s'imprimeixen en un ordre aleatori.
Què és TreeMap?
El TreeMap és una classe en Java que implementa la interfície Map. Similar a un HashMap, també s'utilitza per emmagatzemar parells de claus i valors, però en ordre ascendent. El TreeMap implementa el NavigableMap i el NavigableMap amplia SortedMap i SortedMap amplia el Mapa. Cada element és únic. Declarar un TreeMap és el següent.
classe pública TreeMap amplia AbstractMap implementa NavigableMap, Clonable, Serializable
La K fa referència a la clau mentre que V fa referència al valor corresponent a aquesta clau específica. Cada parell de claus i valors és una entrada del TreeMap.
Figura 03: Programa TreeMap utilitzant Java
Segons el programa anterior, es crea un objecte de TreeMap. Aleshores, el programador pot afegir elements utilitzant aquest objecte. Els valors es poden inserir mitjançant el mètode put. Per obtenir els valors, el programador hauria d'utilitzar el mètode get amb la clau. Quan utilitzeu studentList.get(“150”); imprimirà el nom corresponent a aquest índex que és Ann. Si el programador vol obtenir tots els valors, pot utilitzar Map. Entry per imprimir totes les claus i valors. En observar la sortida, es pot veure que TreeMap manté un ordre específic. Els elements s'imprimeixen en ordre ascendent.
Quines similituds hi ha entre HashMap i TreeMap?
- Tant HashMap com TreeMap implementen la interfície de Map.
- Tant HashMap com TreeMap poden emmagatzemar i manipular molts elements.
- Tant HashMap com TreeMap contenen parells clau i valor.
- Tant HashMap com TreeMap poden tenir molts valors nuls.
- No hi ha cap limitació al nombre d'elements que es poden emmagatzemar tant a HashMap com a TreeMap.
Quina diferència hi ha entre HashMap i TreeMap?
HashMap vs TreeMap |
|
Un HashMap és una classe de col·lecció basada en mapes que s'utilitza per emmagatzemar parells de claus i valors que no mantenen un ordre específic en els elements de dades. | Un TreeMap és una classe de col·lecció basada en mapes que s'utilitza per emmagatzemar parells de claus i valors que manté l'ordre ascendent dels elements de dades. |
Comanda | |
El HashMap no manté l'ordre. | El TreeMap manté l'ordre ascendent. |
Clau nul·la | |
El HashMap pot contenir una clau nul·la. | El TreeMap no pot tenir una clau nul·la. |
Actuació | |
HashMap és més ràpid que TreeMap. | TreeMap és més lent que HashMap. |
Resum: HashMap vs TreeMap
Llenguatges de programació com ara Java conté el marc de la col·lecció. A les matrius, hi pot haver un nombre fix d'elements. Per tant, la mida de la matriu s'ha d'inicialitzar al principi. A les col·leccions, el programador pot emmagatzemar molts elements segons sigui necessari. No hi ha una quantitat específica per emmagatzemar. El mapa és una interfície que pertany al marc de col·lecció. Un HashMap és una classe de col·lecció basada en mapes que s'utilitza per emmagatzemar parells de claus i valors que no mantenen un ordre específic en els elements de dades. Un TreeMap és una classe de col·lecció basada en mapes que s'utilitza per emmagatzemar parells de claus i valors que manté l'ordre ascendent dels elements de dades. En aquest article es parla de la diferència entre HashMap i TreeMap que implementa la interfície Map. La diferència entre HashMap i TreeMap és que HashMap no manté un ordre específic en els elements de dades, mentre que TreeMap manté l'ordre ascendent dels elements de dades.