Bienvenue à nouveau, ici Scott Stanley. Dans ces leçons, nous allons jeter un œil au niveau du framework des collections, certaines fonctions d'assistance statiques que nous pouvons utiliser pour travailler avec ces collections, et puis nous allons jeter un oeil au naturel et des algorithmes de tri personnalisés que nous pouvons spécifier. Dans cette leçon, je vais vous montrer le cadre des collections. Nous voyons qu'il est composé de plusieurs types intéressants. La première chose sur laquelle je veux attirer votre attention est, on voit les cases oranges voici les types d'interface, et les cases bleues sont les types de classe. Donc, juste pour rappel, les interfaces spécifient le quoi, et les classes, les implémentations de ces interfaces, ils déterminent comment, comment quelque chose fonctionne. Alors on peut voir tout en haut de la hiérarchie du framework de collecte, il y a une interface de collecte, qui est le plus générique de tous. Et puis vous voyez quelques-uns plus spécifiques interfaces de type, listes, repères, ensembles. Il y a des piles, des cartes, des arbres, à peu près tout ce que vous pourriez Hope for fait partie de la structure hiérarchique de cette collection. Jetons un coup d'œil ici au test des collections. Bon, on y va. Le premier scénario de test que nous voyons est que nous créons une nouvelle liste de tableaux. Nous le stockons en tant que type générique, s'y référant de manière générique en tant que type d'interface de liste. Et dans ce cas, nous utilisons les génériques. Et donc cela va être une liste de type de nombre. Et nous allons ajouter les 50 premiers, bien jusqu'à 50 nombres premiers. Donc deux, trois, cinq, sept, 11 jusqu'à 47. Et puis on prouve juste qu'il a une taille de 15, qui est le nombre d'éléments que nous y avons ajoutés. Cela a donc nécessité beaucoup de frappe, comme vous pouvez le voir. Ils nous ont donné quelques raccourcis d'aide de faire cela qui nous facilite un peu la vie. Le premier est plutôt que de créer une nouvelle liste de tableaux la façon dont je l'ai fait ici et l'emballer avec ces nombres premiers, nous allons adopter l'approche de raccourci et utiliser simplement les tableaux sous forme de liste et spécifiez les 15 nombres. Et plus récemment, ils ont ajouté de nouveaux comportements à ces types d'interface, leurs méthodes par défaut sur les interfaces. Nous avons donc une liste de, et de même, nous pouvons spécifier les 50 premiers nombres premiers. Or une liste est une liste ordonnée, qui nous permet d'ajouter un élément à un index particulier. Donc, si vous voyez ici, nous avons un, deux, quatre, cinq et six, et ces éléments sont numérotés zéro, un, deux, trois, quatre, si nous voulions insérer le chiffre trois entre deux et quatre, nous dirions que nous serions aime ajouter à l'indice deux le nombre trois. Et ce qu'il fait, c'est qu'il déplace tout vers la droite c'était à cet endroit et au-delà de cet endroit. Après avoir ajouté le chiffre trois en deuxième position, zéro, un, deux, puis la liste sera un, deux, trois, quatre, cinq, six. Nous jetons un coup d'oeil à un petit chemin rapide de presser les doublons d'une liste. Ainsi, une liste autorise les doublons. En fait, vous pouvez voir que nous avons le numéro deux dupliqué plusieurs fois, ainsi que six et sept. Et la taille de cette liste est de 10. Si nous voulons éliminer les doublons, nous pouvons créer un nouvel ensemble de hachage. Les ensembles n'autorisent pas les doublons. Donc, ce que cela finit par faire, c'est réduire la liste à un, deux, six, sept, huit. Voici un exemple de carte. Nous avons une carte de nombre à chaîne, et le numéro ici, peut-être un numéro d'employé. Alors l'employé numéro un est Scott. Le numéro deux est Jennifer. Le numéro trois est Tyler. Et puis nous pouvons vérifier qu'en regardant la carte, cette collection, pour la clé numéro trois, est plutôt Tyler. Avant le nouveau comportement mis si absent, si nous voulions mettre une nouvelle paire clé-valeur dans une carte, mais nous voulions nous assurer de ne pas heurter quelque chose qui se trouvait peut-être déjà à cet endroit, nous devions faire cela. Si je regarde la clé numéro trois sur cette carte, et il n'y a pas une telle chose, alors je vais mettez le numéro trois apparié avec la chaîne Peter. Et c'était un peu klugey. La nouvelle façon de le faire maintenant est que nous pouvons simplement dire mettre si absent. Mettre si absent. Et la dernière chose que nous allons regarder ici est la notion de carte de hachage faible. Une carte de hachage faible est très utile pour contenir des caches par exemple. Voici comment fonctionne un type de collection de cartes de hachage faibles. Dès qu'il n'y a plus de références aux éléments dans la carte, puis les paires clé-valeur dans la carte de hachage faible disparaîtra. Ils se purgeront automatiquement sur un intervalle de récupération de place. Donc, si nous créons Chris et Eddie ici, et les mettre dans cette collection, cette carte, qui se trouve être une implémentation de carte de hachage faible, nous plaçons ces deux objets sur la carte, et ensuite nous pouvons affirmer la taille de la carte comme deux. Dès que Chris est défini sur null, Chris était l'un des couples de valeurs clés que nous avons mis dans cette carte de hachage faible, dès que Chris est défini sur null alors il n'y a plus de références à cette paire clé-valeur, et ainsi de suite dès lors d'un ramassage des ordures, Je l'ai forcé ici juste pour pouvoir prouver le problème, dès que nous organisons une collecte des ordures, puis nous allons demander à la carte de hachage quelle est sa taille, sa taille n'est plus deux, sa taille est maintenant un, parce que supprimer la référence à une paire clé-valeur réduit automatiquement la taille de cette carte de hachage faible. Dans la prochaine leçon, nous allons jeter un œil à certaines fonctions statiques, méthodes d'assistance, que nous pouvons exploiter pour profiter davantage de cette hiérarchie des collections. Merci d'avoir regardé et restez à l'écoute.