L'implémentation du framework de collections en java

Date de publication : 4 février 2009 , Date de mise à jour : 5 février 2009

Par Sabri KOFFLER (home) (Blog)
 

Article sur l'implémentation du framework de collections en java. L'explication se base sur le code source du framework Java SE.
Les sources sont celles du jar jdk-6u3-fcs-src-b05-jrl-24_sep_2007.jar, téléchargé chez sun, qui sont les sources de Java Standard Edition 6 update 3.
Le document sera complété petit à petit, pour rajouter d'autres classes et interfaces, mais les principales y sont, et le reste est sur le même modèle.
Page 1 : Chapitre I-Introduction
I. Introduction
Page 2 : Chapitre II-La classe String (java.lang)
II. La classe String (java.lang)
II-A. Généralités
II-B. Le fonctionnement de la classe String (java.lang)
II-B-1. L'interface CharSequence (java.lang)
II-B-2. L'interface Comparable<T> (java.lang)
II-B-3. L'interface Serializable (java.io)
II-B-4. Attributs private de String
II-B-5. Constructeurs de String
II-B-6. Des méthodes de String
II-B-7. la méthode hashCode de String - Définition rapide du hashcode
Page 3 : Chapitre III-L'interface Collection( java.util)
III. L'interface Collection( java.util)
III-A. Le framework de collections de Java( "The Java Collections Framework")
III-A-1. Les six interfaces du framework de collections
III-B. Généralités sur l'interface Collection( java.util)
III-C. L'interface Iterable<T> (java.lang)
III-D. L'interface Iterator<T> (java.util)
III-E. Les méthodes de l'interface Collection( java.util)
Page 4 : Chapitre IV-L'interface List(java.util)
IV. L'interface List(java.util)
IV-A. Généralités
IV-B. Les méthodes de List (java.util)
IV-C. L'interface ListIterator(java.util)
Page 5 : Chapitre V-AbstractCollection(java.util)
V. AbstractCollection(java.util)
V-A. Généralités
V-B. Les méthodes abstraites
V-C. Les méthodes implémentées
Page 6 : Chapitre VI-AbstractList (java.util)
VI. AbstractList (java.util)
VI-A. Généralités
VI-B. Les méthodes abstraites à implémenter
VI-C. Les autres méthodes à implémenter éventuellement
VI-D. L'itérateur: la classe interne privée Itr
VI-D-1. Les attributs privés de Itr
VI-D-2. Les méthodes public de Itr
VI-E. La classe interne non static private ListItr, dans la classe AbstractList
VI-F. La classe SubList<E>, dans le même fichier que AbstractList
VI-G. La classe RandomAccessSubList<E>(même fichier que AbstractList), et l'interface RandomAccess (java.util)
VI-G-1. L'interface RandomAccess (java.util)
Page 7 : Chapitre VII-La classe Vector (java.util)
VII. La classe Vector (java.util)
VII-A. La classe Vector (java.util)
VII-A-1. L'interface Cloneable
VII-A-1-a. La méthode clone de la classe Object
VII-B. Les méthodes de Vector
VII-C. L'implémentation de Vector
VII-C-1. Les attributs de la classe Vector
VII-C-1-a. L'attribut serialVersionUID
VII-C-2. Les constructeurs de Vector
VII-C-3. Les méthodes de Vector
Page 8 : Chapitre VIII-L'interface Map (java.util)
VIII. L'interface Map (java.util)
VIII-A. Généralités
VIII-B. L'interface Map (java.util)
VIII-B-1. Les membres de Map
VIII-B-1-a. Les méthodes de Map
VIII-B-1-b. L'interface Map.Entry
Page 9 : Chapitre IX-AbstractMap (java.util)
IX. AbstractMap (java.util)
IX-A. La classe AbstractMap (java.util)
IX-B. L'implémentation de AbstractMap (java.util)
IX-B-1. L'unique constructeur
IX-B-2. entrySet(): la seule méthode abstraite
IX-B-3. Implémentation de get(Object key)
IX-B-4. Implémentation de remove(Object key)
IX-B-5. Implémentation de keySet()
IX-B-6. Implémentation de values()
IX-B-7. Implémentation de putAll
IX-C. Les deux classes internes statiques fournies
IX-C-1. AbstractMap.SimpleEntry<K,V>
IX-C-2. AbstractMap.SimpleImmutableEntry<K,V>
Page 10 : Chapitre X-HashMap (java.util)
X. HashMap (java.util)
X-A. X.A) L'implémentation de la classe HashMap (java.util)
X-A-1. Les attributs privés de HashMap
X-A-2. Les constructeurs
X-A-3. La classe interne static (friendly) HashMap.Entry
X-A-4. Les méthodes de HashMap
X-A-4-a. put(K key, V value)
X-A-4-b. get(Object key)
X-A-4-c. (non public) resize()
Remerciements
XI. Remerciements


Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 . Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC. Cette page est déposée.

 
 
 
 
Partenaires

Hébergement Web