Latest web development tutorials

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.

Toutes les méthodes et l' interface Iterator ListIterator condition énumérés ici à titre d'exemple.

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.