2010-04-27 5 views
2

Quelqu'un peut-il me guider pour examiner en détail les structures de données utilisées et comment est-il implémenté dans la page List, Set and Maps of Util Collection.Structures de données pour hashMap, List and Set

Dans les interviews, la plupart des questions porteront sur les algorithmes, mais je n'ai jamais vu les détails de la mise en œuvre ailleurs, quelqu'un peut-il partager l'information?

+0

Utilisez la source, Luke! – Aaron

Répondre

3

Pour savoir comment Java implémente des collections, l'endroit définitif où aller est le code source lui-même, disponible gratuitement. Généralement, les listes sont implémentées sous forme de tableaux (ArrayList) ou de listes liées (LinkedList); les ensembles sont des hashtables (HashSet) ou des arbres (TreeSet); et les cartes sont des hashtables (HashMap). Les algorithmes pour manipuler des tableaux, des listes chaînées, des tables de hachage et des arbres binaires ou n-aires (ajouter, supprimer, rechercher, trier) sont suffisamment complexes en eux-mêmes pour qu'un cours entier soit nécessaire pour les couvrir tous. Quiconque fait sa propre conception de programme a généralement besoin de comprendre ces algorithmes et leurs compromis de performance par cœur. Il n'y a pas de substitut ici pour l'étude des manuels et/ou la pratique.

3

Le code source de l'API est disponible, obtenez un JDK et ouvrez le fichier src.zip à partir du dossier d'installation.

1

Vous pouvez toujours ouvrir les fichiers source, tout est là, cependant, je ne le recommanderais pas car ils sont généralement difficiles à comprendre. Au lieu de cela, j'essaierais de trouver la structure de données sous-jacente et de la rechercher. Wikipedia contient la plupart des informations que vous voulez savoir sur ces sujets, et google contient le repos absolu.
liste est juste un dynamic array,
Set est un ... set,
et les cartes sont généralement hash tables calée par le hachage de la clé, et stockée en tant que paire clé-valeur.
Si vous allez plonger dans le code source, je vous recommande de vous familiariser avec "comment-ça-probablement-fonctionne", car sinon, il sera difficile à comprendre, en particulier la table de hachage.