- The framework had to be high-performance. The implementations for the fundamental collections (dynamic arrays, linked lists, trees, and hashtables) were to be highly efficient.
- The framework had to allow different types of collections to work in a similar manner and with a high degree of interoperability.
- The framework had to extend and/or adapt a collection easily.
- Interfaces − These are abstract data types that represent collections. Interfaces allow collections to be manipulated independently of the details of their representation. In object-oriented languages, interfaces generally form a hierarchy.
- Implementations, i.e., Classes − These are the concrete implementations of the collection interfaces. In essence, they are reusable data structures.
- Algorithms − These are the methods that perform useful computations, such as searching and sorting, on objects that implement collection interfaces. The algorithms are said to be polymorphic: that is, the same method can be used on many different implementations of the appropriate collection interface.
The Collection Interfaces
Sr.No. | Interface & Description |
---|---|
1 | The Collection Interface
This enables you to work with groups of objects; it is at the top of the collections hierarchy.
|
2 | The List Interface
This extends Collection and an instance of List stores an ordered collection of elements.
|
3 | The Set
This extends Collection to handle sets, which must contain unique elements.
|
4 | The SortedSet
This extends Set to handle sorted sets.
|
5 | The Map
This maps unique keys to values.
|
6 | The Map.Entry
This describes an element (a key/value pair) in a map. This is an inner class of Map.
|
7 | The SortedMap
This extends Map so that the keys are maintained in an ascending order.
|
8 | The Enumeration
This is legacy interface defines the methods by which you can enumerate (obtain one at a time) the elements in a collection of objects. This legacy interface has been superceded by Iterator.
|
The Collection Classes
Sr.No. | Class & Description |
---|---|
1 |
AbstractCollection
Implements most of the Collection interface.
|
2 |
AbstractList
Extends AbstractCollection and implements most of the List interface.
|
3 |
AbstractSequentialList
Extends AbstractList for use by a collection that uses sequential rather than random access of its elements.
|
4 | LinkedList
Implements a linked list by extending AbstractSequentialList.
|
5 | ArrayList
Implements a dynamic array by extending AbstractList.
|
6 |
AbstractSet
Extends AbstractCollection and implements most of the Set interface.
|
7 | HashSet
Extends AbstractSet for use with a hash table.
|
8 | LinkedHashSet
Extends HashSet to allow insertion-order iterations.
|
9 | TreeSet
Implements a set stored in a tree. Extends AbstractSet.
|
10 |
AbstractMap
Implements most of the Map interface.
|
11 | HashMap
Extends AbstractMap to use a hash table.
|
12 | TreeMap
Extends AbstractMap to use a tree.
|
13 | WeakHashMap
Extends AbstractMap to use a hash table with weak keys.
|
14 | LinkedHashMap
Extends HashMap to allow insertion-order iterations.
|
15 | IdentityHashMap
Extends AbstractMap and uses reference equality when comparing documents.
|
Sr.No. | Class & Description |
---|---|
1 | Vector
This implements a dynamic array. It is similar to ArrayList, but with some differences.
|
2 | Stack
Stack is a subclass of Vector that implements a standard last-in, first-out stack.
|
3 | Dictionary
Dictionary is an abstract class that represents a key/value storage repository and operates much like Map.
|
4 | Hashtable
Hashtable was part of the original java.util and is a concrete implementation of a Dictionary.
|
5 | Properties
Properties is a subclass of Hashtable. It is used to maintain lists of values in which the key is a String and the value is also a String.
|
6 | BitSet
A BitSet class creates a special type of array that holds bit values. This array can increase in size as needed.
|
The Collection Algorithms
Sr.No. | Algorithm & Description |
---|---|
1 | The Collection Algorithms
Here is a list of all the algorithm implementation.
|
How to Use an Iterator ?
Sr.No. | Iterator Method & Description |
---|---|
1 | Using Java Iterator
Here is a list of all the methods with examples provided by Iterator and ListIterator interfaces.
|
How to Use a Comparator ?
Sr.No. | Iterator Method & Description |
---|---|
1 | Using Java Comparator
Here is a list of all the methods with examples provided by Comparator Interface.
|