CONTENTS Introduction What is Collection Collections Framework Collections Hierarchy Set List Map 2
COLLECTION FRAMEWORK The collections framework define a set of interfaces and their implementations to manipulate collection. The collection framework also allows us to store , retrieve, and update a set of objects. It reduces programming effort while increasing performance. It provides an API to work with the data structure, such as lists , tree, maps, and sets. 3
The collection framework which is contained in the java.util package is one of java’s most powerful sub-systems. It includes implementations of these interfaces and algorithms to manipulate them. Which server as a container for a group of object such as a set of words in a dictionary or a collection. 4
OBJECTIVES Define a collection. Describe the collections framework. Describe the collections hierarchy. Demonstrate each collection implementation. 5
WHAT IS A COLLECTION? A Collection (also known as container) is an object that contains a group of objects treated as a single unit. Any type of objects can be stored, retrieved and manipulated as elements of collections . 6
COLLECTIONS FRAMEWORK Collections Framework is a unified architecture for managing collections Main Parts of Collections Framework 1. Interfaces Core interfaces defining common functionality exhibited by collections 1. Implementations Concrete classes of the core interfaces providing data structures 1. Operations Methods that perform various operations on collections 7
COLLECTIONS FRAMEWORK INTERFACES Collection specifies contract that all collections should implement. Set defines functionality for a set of unique elements. SortedSet defines functionality for a set where elements are sorted. List defines functionality for an ordered list of non- unique elements. Map defines functionality for mapping of unique keys to values. SortedMap defines functionality for a map where its keys are sorted. Core Interface Description 8
COLLECTIONS FRAMEWORK IMPLEMENTATIONS Set List Map HashSet ArrayList HashMap LinkedHashSet LinkedList LinkedHashMap TreeSet Vector Hashtable Tree Map Note: Hashtable uses a lower-case “t” 9
OPERATIONS Basic collection operations:- Check if collection is empty. Check if an object exists in collection. Retrieve an object from collection. Add object to collection. 10
Remove object from collection Iterate collection and inspect each object Each operation has a corresponding method implementation for each collection type 11
COLLECTIONS CHARACTERISTICS O rdered :- Elements are stored and accessed in a specific order. Sorted :- Elements are stored and accessed in a sorted order. Indexed :- Elements can be accessed using an index. Unique :- Collection does not allow duplicates. 12
ITERATOR The Iterator interface enables us to sequentially traverse and access the elements contained in a collection . The elements of a collection can be accessed using the methods defined by the Iterator interface. Syntax: Iterator < variable> = < CollectionObject >.iterator(); 13
Method Defined in the Iterator Interface Method Description hasNext () :- Return true if the collection contains more then one element. next() :- Returns the next element form the collection. remove() :- Remove the current element from the collection. 14
COLLECTIONS HIERARCHY SET AND LIST Collection Set List Implements HashSet SortedSet Implements e xtends LinkedHashSet TreeSet LinkedList Vector ArrayList e xtends Implements Implements 15
COLLECTION IMPLEMENTATIONS List:- List of things(classes that implement List) Set:- Unique things(classes that implement set) Map:- Things with a unique ID(classes that implement Map ) 17
LIST A List cares about the index. Value: Index: 0 1 2 3 4 “Paul” “Mark” “ John” “Paul” “Luke” ArrayList Vector LinkedList 18
LIST IMPLEMENTATIONS ARRAY LIST Import java.util.ArrayList; public class MyArrayList { public static void main(string args[ ]) { ArrayList alist= new ArrayList( ); alist.add( new string(“one”) ); alist.add( new string(“two”) ); alist.add( new string(“three”) ); system.out.println(alist.get(0) ); system.out.println(alist.get(1) ); system.out.println(alist.get(2) ); } } One Two Three 19
LIST IMPLEMENTATIONS VECTOR Import java.util.Vector; public class MyVector { public static void main(string args[ ]) { Vector vecky= new Vector( ); vecky.add( new Integer(1) ); vecky.add( new Integer(2) ); vecky.add( new Integer(3) ); for ( int x=0 ; x<3 ; x++) { system.out.println( vecky.get (x) ); } } } 1 2 3 20
LIST IMPLEMENTATIONS LINKEDLIST Import java.util.LinkedList; public class MyLinkedList { public static void main(string args[ ] ) { LinkedList link= new LinkedList( ); link.add( new Double(2.0) ); link.addlast( new Double(3 .0) ); link.addfirst( new Double(1 .0) ); object array[ ] = link.toArray ( ); for ( int x=0 ; x<3 ; x++) { system.out.println( array[x] ); } } } 1.0 2.0 3 .0 21
SET A set cares about uniqueness. It doesn’t allow duplicates. “Paul” “Peter” “John” “Mark” “Luke” “Fred” HashSet LinkedHashSet Treeset 22
LIST IMPLEMENTATIONS HASHSET Import java.util.*; public class MyHashSet { public static void main(string args[ ] ) { HashSet hash= new HashSet( ); hash.add(“a” ); hash.add(“b” ); hash.add(“c”); hash.add(“d”); iterator iterator = hash.iterator( ); while ( iterator.hashnext ( ) ) { system.out.println( iterator.next( ) ); } } } d a c b 23
LI ST IMPLEMENTATIONS LINKEDHASHSET Import java.util.LinkedhashSet; public class MyLinkedHashSet { public static void main(string args[ ] ) { LinkedHashSet lhs= new LinkedHashSet( ); lhs.add(new string(“one” ) ); lhs.add(new string(“two” ) ); lhs.add(new string(“three”) ); object array = lhs.toArray[ ]; for ( int x=0; x<3; x++) { system.out.println( array[x] ); } } } One Two Three 24
import java.util.TreeSet ; public class MyTreeSet { public static void main(String args[ ]) { TreeSet tree = new TreeSet(); tree.add ("Jody"); tree.add (" Remiel "); tree.add ("Reggie"); tree.add ("Philippe"); Iterator iterator = tree.iterator ( ); while ( iterator.hasNext ( )) { System.out.println(iterator.next( . toString ( )); } } } S ET IMPLEMENTATIONS TREE SET Jody Philippe Reggie Remiel 25
LIST A map cares about unique identifier. Key: Value: “Paul” “Mark” “ John” “Paul” “Luke” HashMap Hashtable LinkedHashMap “PI” “Ma” “Jn” “ul” “Le” TreeMap 26
MAP IMPLEMENTATIONS HASH TABLE import java.util.Hashtable ; public class MyHashtable { public static void main(String args[ ]) { Hashtable table = new Hashtable( ); table.put ("name", "Jody"); table.put ("id", new Integer(1001)); table.put ("address", new String("Manila")); System.out.println("Table of Contents:" + table); } } Table of Contents: {address=Manila, name=Jody, id=1001} 28
MAP IMPLEMENTATIONS LINKED HASH MAP import java.util.*; public class MyLinkedHashMap { public static void main(String args[ ]) { int iNum = 0; LinkedHashMap myMap = new LinkedHashMap( ); myMap.put ("name", "Jody"); myMap.put ("id", new Integer(446)); myMap.put ("address", "Manila"); myMap.put ("type", "Savings"); Collection values = myMap.values ( ); Iterator iterator = values.iterator ( ); while ( iterator.hasNext ()) { System.out.println(iterator.next( )); } } } Jody 446 Manila Savings 29
MAP IMPLEMENTATIONS TREE MAP import java.util.*; public class MyTreeMap { public static void main(String args[]) { TreeMap treeMap = new TreeMap( ); treeMap.put ("name", "Jody"); treeMap.put ("id", new Integer(446)); treeMap.put ("address", "Manila"); Collection values = treeMap.values () Iterator iterator = values.iterator ( ); System.out.println("Printing the VALUES...."); while ( iterator.hasNext ()) { System.out.println(iterator.next( )); } } } Printing the VALUES.... Manila 446 Jody 30
COLLECTION CLASSES SUMMARY Class Map Set List Ordered Sorted HashMap X No No Hashtable X No No TreeMap X Sorted By natural order or custom comparison rules LinkedHashmap X By insertion order or No last access order HashSet X No No TreeSet X Sorted By natural order or custom comparison rules LinkedHashSet X By insertion order or No last access order ArrayList X By Index No Vector X By Index No LinkedList X By Index No 31
KEY POINTS Collections Framework contains: 1. Interfaces 2. Implementations 3. Operations A list cares about the index. A set cares about uniqueness, it does not allow duplicates. A map cares about unique identifiers. 32