Diferența cheie: În domeniul informaticii, un hashTable sau un hashmap se referă la o structură de date care leagă cheile (numele) cu valori (atribute). În Java, există unele diferențe importante între cele două cum ar fi: HashTable este sincronizat și HashMap este nesincronizat. Un HashTable nu permite cheile null. Cu toate acestea, un HashMap permite o singură cheie nulă și orice număr de valori nula.
HashMap și hashTable sunt structuri de date care fac parte din colecția Java. Ei folosesc perechi cheie-valoare pentru a stoca obiecte. Amândouă împărtășesc câteva asemănări, cum ar fi implementarea interfeței java.util.Map și ambele lucrează pe principiul hashing-ului. Cu toate acestea, când ne referim la ele în contextul limbajului de programare Java, există numeroase diferențe între cele două.
Un hashTable este folosit pentru a stoca și a prelua o valoare utilizând o cheie. În acest scop, cheia trebuie să fie unică. Tabelul care este utilizat pentru a stoca perechile de chei și valori este cunoscut sub numele de tabelul hash. O tabelă hash se formează folosind un algoritm care are tastele. Această funcție hash este utilizată pentru a atribui numere la datele de intrare și apoi datele sunt stocate ca indice de matrice care corespunde numărului calculat sau evaluat.
Comparație între HashMap și HashTable:
HashMap | Hashtable | |
Sincronizare | Este nesincronizată | Este sincronizat (threaded safe) |
Valori nula | Permite valori nula ca cheie și valoare | Nu permite nulls |
Introducere în java | Versiunea Java 1.2 | Prima versiune a kitului de dezvoltare java |
Performanţă | Comparativ mai bine | Comparativ sărac |
Prelungește | Extinde clasa AbstractMap | Extinde clasa Dicționar care este destul de veche |
Iterația cheilor | Iteratorul este utilizat pentru iterarea cheilor | Interfața de interfață este utilizată pentru cheile de iterare |
Aplicații | Mai bine pentru aplicațiile fără fire | În general, în condiții de siguranță pentru aplicațiile cu mai multe fire |
serializare | Nu este serializată | serializate |
Alternativă | Se poate folosi un hashmap concurent pentru mediul cu mai multe fire | Nu există o astfel de alternativă |