Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Java's Collection Framework Map and Sets. 2 Collection Framework  A collections framework is a unified architecture for representing and manipulating.

Similar presentations


Presentation on theme: "1 Java's Collection Framework Map and Sets. 2 Collection Framework  A collections framework is a unified architecture for representing and manipulating."— Presentation transcript:

1 1 Java's Collection Framework Map and Sets

2 2 Collection Framework  A collections framework is a unified architecture for representing and manipulating collections. It has: –Interfaces: abstract data types representing collections –Implementations: concrete implementations of the collection interfaces –Algorithms: methods that perform useful computations, such as searching and sorting These algorithms are said to be polymorphic: the same method can be used on different implementations

3 3 Interfaces  An interface describes a set of methods: –no constructors or instance variables  Interfaces must be implemented by classes –646 java classes implement >= 1 interfaces (‘02)  2 or more classes implement an interface –Classes guaranteed to have the same methods –Objects can be treated as the same type –Can use different algorithms / instance variables

4 4 Collection interfaces Queue since Java 5

5 5 Implementations  A collection class –implements an ADT as a Java class –implements all methods of the interface –selects appropriate instance variables –can be instantiated  Java implements interfaces with – List: ArrayList, LinkedList, Vector – Map: HashMap, TreeMap – Set: TreeSet, HashSet

6 6 Algorithms  Java has polymorphic algorithms to provide functionality for different types of collections –Sorting (e.g. sort)Sorting –Shuffling (e.g. shuffle)Shuffling –Routine Data Manipulation (e.g. reverse, addAll)Routine Data Manipulation –Searching (e.g. binarySearch)Searching –Composition (e.g. frequency)Composition –Finding Extreme Values (e.g. max)Finding Extreme Values

7 7 Two Useful ADTs  List: a collection with a first element, a last element, distinct predecessors and successors –duplicates that "equals" each other are allowed  Map: maps keys to values Map –Maps cannot contain duplicate keys –Each key maps at most one value

8 8 Map and SortedMap  The Map interface defines methodsMap interface – get, put, contains, keySet, values, entrySet  TreeMap implements Map –put, get, remove: O(log n)  HashMap implements Map –put, get, remove: O(1)

9 9 Set and SortedSet  Some Map methods return Set  The Set interface – add, addAll, remove, size, but no get !  Some implementations – TreeSet : values stored in order, O(log n) – HashSet : values in a hash table, no order, O(1)

10 10 Let's play  Set up a small collection of mappings Map tm = new TreeMap (); tm.put("M", new BankAccount("Michel", 111.11)); tm.put("G", new BankAccount("Georgie", 222.22)); tm.put("S", new BankAccount("Sam", 333.33)); tm.put("P", new BankAccount("Pei", 444.44)); tm.put("Z", new BankAccount("Zac", 555.55)); // Coming up: Some Map methods

11 11 keySet() // Get the set of keys in the Map. // With TreeMap, the keys are ordered. Set keys = tm.keySet(); assertEquals("[G, M, P, S, Z]", keys.toString());

12 12 values() // The values Collection accountCollection = tm.values(); Iterator itr = accountCollection.iterator(); double allTheMoney = 0.0; while (itr.hasNext()) { allTheMoney += itr.next().getBalance(); } assertEquals(1666.65, allTheMoney, 0.01);

13 13 entrySet() // The mappings Collection > mapping = tm.entrySet(); Iterator > itr2 = mapping.iterator(); while (itr2.hasNext()) { System.out.print("<" +itr2.next().toString() + "> "); }

14 14 Maps do not have an iterator  Code Demo: Sum up all balances in tm –There is no iterator method in TreeMap

15 15 Thank You


Download ppt "1 Java's Collection Framework Map and Sets. 2 Collection Framework  A collections framework is a unified architecture for representing and manipulating."

Similar presentations


Ads by Google