Monday, January 21, 2013

Java Collection

Collection framework provides an architecture to store and manipulate the group of objects.All the operations that you perform on  data  such as searching,sorting,insertion,deletion etc.can be performed by java Collection Framework.Collection simply means single unit of objects.Collection framework provides many interfaces(set,list,queue,deque)andclasses(ArrayList,LinkList,Vector,HashSet,TreeSet,
PriorityQueue,LinkedHashSet)


A collections framework is a unified architecture for representing and manipulating collections. All collections frameworks contain the following:
  • 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.
In addition to collections, the framework defines several map interfaces and classes. Maps store key/value pairs. Although maps are not collections in the proper use of the term, but they are fully integrated with collections.

The Collection Interfaces:

The collections framework defines several interfaces. This section provides an overview of each interface:
SNInterfaces with Description
1The Collection Interface
This enables you to work with groups of objects; it is at the top of the collections hierarchy.
2The List Interface
This extends Collection and an instance of List stores an ordered collection of elements.
3The Set
This extends Collection to handle sets, which must contain unique elements
4The SortedSet
This extends Set to handle sorted sets
5The Map
This maps unique keys to values.
6The Map.Entry
This describes an element (a key/value pair) in a map. This is an inner class of Map.
7The SortedMap
This extends Map so that the keys are maintained in ascending order.
8The Enumeration
This is legacy interface and 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:

Java provides a set of standard collection classes that implement Collection interfaces. Some of the classes provide full implementations that can be used as-is and others are abstract class, providing skeletal implementations that are used as starting points for creating concrete collections.
The standard collection classes are summarized in the following table:
SNClasses with Description
1AbstractCollection 
Implements most of the Collection interface.
2AbstractList 
Extends AbstractCollection and implements most of the List interface.
3AbstractSequentialList 
Extends AbstractList for use by a collection that uses sequential rather than random access of its elements.
4LinkedList 
Implements a linked list by extending AbstractSequentialList.
5ArrayList 
Implements a dynamic array by extending AbstractList.
6AbstractSet 
Extends AbstractCollection and implements most of the Set interface.
7HashSet 
Extends AbstractSet for use with a hash table.
8LinkedHashSet 
Extends HashSet to allow insertion-order iterations.
9TreeSet 
Implements a set stored in a tree. Extends AbstractSet.
10AbstractMap 
Implements most of the Map interface.
11HashMap 
Extends AbstractMap to use a hash table.
12TreeMap 
Extends AbstractMap to use a tree.
13WeakHashMap 
Extends AbstractMap to use a hash table with weak keys.
14LinkedHashMap 
Extends HashMap to allow insertion-order iterations.
15IdentityHashMap 
Extends AbstractMap and uses reference equality when comparing documents.
The AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList and AbstractMap classes provide skeletal implementations of the core collection interfaces, to minimize the effort required to implement them.
The following legacy classes defined by java.util has been discussed in previous tutorial:
SNClasses with Description
1Vector 
This implements a dynamic array. It is similar to ArrayList, but with some differences.
2Stack 
Stack is a subclass of Vector that implements a standard last-in, first-out stack.
3Dictionary
Dictionary is an abstract class that represents a key/value storage repository and operates much like Map.
4Hashtable
Hashtable was part of the original java.util and is a concrete implementation of a Dictionary.
5Properties
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.
6BitSet
A BitSet class creates a special type of array that holds bit values. This array can increase in size as needed.

The Collection Algorithms:

The collections framework defines several algorithms that can be applied to collections and maps. These algorithms are defined as static methods within the Collections class.
Several of the methods can throw a ClassCastException, which occurs when an attempt is made to compare incompatible types, or an UnsupportedOperationException, which occurs when an attempt is made to modify an unmodifiable collection.
Collections defines three static variables: EMPTY_SET, EMPTY_LIST, and EMPTY_MAP. All are immutable.
SNAlgorithms with Description
1The Collection Algorithms
Here is a list of all the algorithm implementation.

How to use an Iterator ?

Often, you will want to cycle through the elements in a collection. For example, you might want to display each element.
The easiest way to do this is to employ an iterator, which is an object that implements either the Iterator or the ListIterator interface.
Iterator enables you to cycle through a collection, obtaining or removing elements. ListIterator extends Iterator to allow bidirectional traversal of a list, and the modification of elements.
SNIterator Methods with Description
1Using Java Iterator
Here is a list of all the methods with examples provided by Iterator and ListIterator interfaces.

How to use an Comparator ?

Both TreeSet and TreeMap store elements in sorted order. However, it is the comparator that defines precisely what sorted order means.
This interface lets us sort a given collection any number of different ways. Also this interface can be used to sort any instances of any class.(even classes we cannot modify).

NOTE:- To get more information about collection.visit this link below http://www.javatpoint.com/collection-framework

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.