Collections Framework Java
Bien avant dans Java 2, Java fournit la catégorie ad hoc. Par exemple: les classes Dictionary, Vector, Stack, et Propriétés utilisées pour stocker et manipuler des groupes d'objets.
Bien que ces classes sont très utiles, mais ils manquent, un thème fédérateur central. Pour cette raison, utilisez la classe de manière vectorielle et utiliser la classe Propriétés a une façon très différente.
Cadre des collections est conçu pour répondre aux objectifs suivants.
- Le cadre doit être haute performance. L'ensemble de base (tableaux dynamiques, listes chaînées, arbres, tables de hachage) mise en œuvre doit également être efficace.
- Le cadre permet différents types de collections, d'une manière similaire avec un haut degré d'interopérabilité.
- Extension et adaptation d'une collection doit être simple.
À cette fin, le cadre de la collection entière est conçu autour d'un ensemble d'interfaces standard. Vous pouvez utiliser ces interfaces standard pour atteindre, tels que: LinkedList, HashSet, TreeSet et similaires, en plus, vous pouvez également mettre en œuvre votre propre collection via ces interfaces.
cadre des Collections est une architecture unifiée utilisée pour représenter et manipuler des collections. Tout cadre de collections contient les éléments suivants:
- Interface: Il est un type de données abstrait représente collection. Interface permet la manipulation indépendante des détails de collecte de ses représentants. Dans les langages orientés objet, interfaces forment généralement une hiérarchie.
- La mise en œuvre (classe): est la réalisation d'une collection d'interfaces. Essentiellement, ce sont des structures de données réutilisables.
- Algorithme: un objet de calcul utile qui implémente l'interface dans la méthode de collecte de l' exécution, par exemple: la recherche et le tri. Ces algorithmes sont appelés multi-état, il est parce que la même méthode peut avoir différentes implémentations sur une interface similaire.
En plus de la collecte, le cadre définit également plusieurs interfaces et classes Carte. Carte est stocké dans des paires clé / valeur. Malgré Carte non collections, mais ils sont pleinement intégrés dans la collection.
Interfaces Collection
cadre de Collection définit un certain nombre d'interfaces. Cette section donne un aperçu de chaque interface:
Non. | description de l'interface |
---|---|
1 | interface Collection vous permet d'utiliser un groupe d'objets, est la hiérarchie racine interface Collection. |
2 | éléments de l' interface List héritées de Collection et une instance de liste stocker une collection ordonnée. |
3 | ensemble Hérité de Collection, il est une collection qui ne contient pas de dupliquer des éléments. |
4 | SortedSet Situé dans une succession ordonnée pour sauver l'ensemble. |
5 | carte Les seules cartes clés de valeurs. |
6 | Map.Entry Un élément de description (paires clé / valeur) dans une carte. La carte est une classe interne. |
7 | SortedMap Hérité de la carte, de sorte que la clé tenue dans l'ordre croissant. |
8 | énumération Ceci est une définition traditionnelle des interfaces et des méthodes par lesquelles vous pouvez énumérer (une fois obtenue a) des objets dans les éléments de la collection. Cette tradition a été remplacée par l'itérateur d'interface. |
Collections
Java fournit un ensemble de classe standard implémente l'interface Collection. Certains d'entre eux sont des classes spécifiques qui peuvent l'utiliser, tandis que d'autres sont des classes abstraites, fournit une mise en œuvre partielle de l'interface.
classes de collection standard sont résumées dans le tableau suivant:
Non. | description de la classe |
---|---|
1 | AbstractCollection Pour la plupart des interfaces de collecte. |
2 | AbstractList Héritage dans AbstractCollection et atteint la plupart de l'interface de la liste. |
3 | AbstractSequentialList Hérité de AbstractList, elle permet d'accéder aux éléments de données dans la chaîne plutôt que l'accès aléatoire. |
4 | LinkedList Hérité de AbstractSequentialList, il met en oeuvre une liste chaînée. |
5 | ArrayList Grâce à l'héritage AbstractList, tableaux dynamiques. |
6 | AbstractSet Héritage dans AbstractCollection et atteint la plupart de l'interface Set. |
7 | HashSet Il a hérité AbstractSet, et utiliser une table de hachage. |
8 | LinkedHashSet Avec l' ordre d'itération prévisible et liée liste hachage Interface table Set. |
9 | TreeSet Hérité de AbstractSet, en utilisant des éléments de l'ordre naturel des éléments dans l'ordre. |
10 | AbstractMap Pour obtenir plus de l'interface de la carte. |
11 | HashMap HashMap est une table de hachage, qui stocke le contenu de paires clé-valeur (valeur-clé) cartographie. HashMap hérité AbstractMap, réalisé l'interface Map, Cloneable, java.io.Serializable. |
12 | TreeMap Il a hérité AbstractMap, et l'utilisation d'un arbre. |
13 | WeakHashMap classe AbstractMap Hérité, utiliser une table de hachage des clés faibles. |
14 | LinkedHashMap Hérité de HashMap, en utilisant les éléments de l'ordre naturel des éléments à trier. |
15 | IdentityHashMap l'héritage de classe AbstractMap, en utilisant référence égalité lorsque l'on compare les documents. |
Dans le tutoriel précédent, nous avons discuté par les classes java.util définies dans le paquet, comme suit:
Non. | description de la classe |
---|---|
1 | vecteur classe Vector implémente un tableau dynamique. Et ArrayList et semblables, mais les deux sont différents. |
2 | cheminée Stack est une sous-classe de Vector, qui met en oeuvre une pile LIFO standard. |
3 | dictionnaire classe Dictionary est une classe abstraite qui est utilisé pour stocker des paires clé / valeur, semblable à une action de classe et la carte. |
4 | Hashtable Hashtable fait partie de la java.util originale est une mise en œuvre concrète dictionnaire. |
5 | Propriétés Propriétés héritées de Hashtable. Représente un ensemble persistant de propriétés. Chaque clé et sa valeur correspondante dans la liste de la propriété est une chaîne. |
6 | BitSet Une classe Bitset crée un type spécial de tableau pour contenir la valeur du bit. BitSet avec la taille du réseau devra augmenter. |
Une classe Bitset crée un type spécial de tableau pour contenir la valeur du bit. BitSet avec la taille du réseau devra augmenter.
algorithme de Collection
Cadre de collections définit plusieurs algorithmes peuvent être utilisés pour la collecte et la cartographie. Ces algorithmes sont des méthodes statiques de la classe est définie comme une collection.
Lorsque vous essayez de comparer les types incompatibles, certaines méthodes peuvent jeter un ClassCastException. Lorsque vous tentez de modifier un ensemble non modifiable, une exception UnsupportedOperationException.
Collection définit trois variables statiques: EMPTY_SET EMPTY_LIST, EMPTY_MAP de. Ces variables sont immuables.
Non. | Algorithme description |
---|---|
1 | Collection Algorithmes Voici une liste de tous les algorithmes. |
Comment utiliser l'itérateur
En règle générale, vous aurez envie de parcourir une collection d'éléments. Par exemple, chaque élément de la collection est affichée.
Faites-le le plus simple est d'utiliser un itérateur, il est un objet qui implémente l'interface Iterator ou interface ListIterator.
Itérateurs, de sorte que vous pouvez supprimer l'élément pour obtenir ou définir par la circulation. ListIterator hérité Iterator, ce qui permet à deux voies traversent la liste et de modifier des éléments.
Comment utiliser le comparateur
TreeSet et TreeMap ordre de tri en fonction de l'élément de stockage. Cependant, ceci est en comparant le dispositif à définir précisément en termes de ce que l'ordre de tri.
Cette interface permet de différentes façons de trier un ensemble.
Non. | Comparaison des méthodes décrites |
---|---|
1 | Utiliser Java Comparator interface Comparator fournit toutes les méthodes énumérées ici à titre d'exemple |
résumé
Collections Framework Java fournit le programmeur avec des structures et des algorithmes pour les manipuler données préemballés.
Une collection est un objet qui peut contenir des références à d'autres objets. Collection de déclaration d'interface de commande pour chaque type de collecte peut être effectuée.
Collections classes de cadres et interfaces sont dans le package java.util.