Presentation is loading. Please wait.

Presentation is loading. Please wait.

Collections A First Glimpse. Collections A collection is a structured group of objects –An array is a kind of collection –A Vector is a kind of collection.

Similar presentations


Presentation on theme: "Collections A First Glimpse. Collections A collection is a structured group of objects –An array is a kind of collection –A Vector is a kind of collection."— Presentation transcript:

1 Collections A First Glimpse

2 Collections A collection is a structured group of objects –An array is a kind of collection –A Vector is a kind of collection –A linked list is a kind of collection Java 1.2 introduced the Collections Framework and provided many great implementations –Vector s have been redefined to implement Collection –Trees, linked lists, stacks, hash tables, and other classes are implementations of Collection –Arrays do not implement the Collection interfaces

3 Types of Collection Java supplies several types of Collection : –Set : cannot contain duplicate elements, order is not important –SortedSet : like a Set, but order is important –List : may contain duplicate elements, order is important Java also supplies some “collection-like” things: –Map : a “dictionary” that associates keys with values, order is not important –SortedMap : like a Map, but order is important

4 Collections are ADTs I’m not going to cover Collections just yet, but I want to use them as an example Collections are one of the best-designed parts of Java, because –They are elegant: they combine maximum power with maximum simplicity –They are uniform: when you know how to use one, you almost know how to use them all –You can easily convert from one to another

5 Uniformity through interfaces Much of the elegance of the Collections Framework arises from the intelligent use of interfaces For example, the Collection interface specifies (among many other operations): –boolean add(Object o) –boolean isEmpty() –boolean remove() –int size() –Object[] toArray() –Iterator iterator()

6 Vectors The class Vector has been retrofitted to implement the Collection interface Vector supplies add(Object) and iterator() methods (among others) Let’s look at creating a Vector and iterating through the elements

7 The Iterator interface interface iterator { // java.lang.util boolean hasNext(); // Returns true if the iteration has more // elements. Object next(); // Returns the next element in the // interation. void remove(); // Removes from the underlying collection // the last element returned by the // iterator (optional operation).

8 Using a Vector Collection numerals = new Vector(); numerals.add("one"); numerals.add("two"); numerals.add("three"); Iterator iter = numerals.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } Results: one two three

9 Using a TreeSet Collection numerals = new TreeSet(); numerals.add("one"); numerals.add("two"); numerals.add("three"); Iterator iter = numerals.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } Results: one three two

10 Conversions Vector v = new Vector(numerals); TreeSet ts = new TreeSet(v);

11 Back to arrays Arrays are not part of the new Collections Framework, but they haven’t been ignored Java 1.2 introduced the new Arrays class, with some useful operations, for example: –static void sort(Object[] a) –static int binarySearch(Object[] a, Object key) –static boolean equals(Object[] a, Object[] a2) –static void fill(Object[] a, Object val) –static void fill(Object[] a, Object val, int from, int to) –static List asList(Object[] a)

12 What to remember We haven’t really begun to study the Collections framework yet, but— –You should learn to use the Iterator interface –You should examine and learn more about the Arrays package

13 The End


Download ppt "Collections A First Glimpse. Collections A collection is a structured group of objects –An array is a kind of collection –A Vector is a kind of collection."

Similar presentations


Ads by Google