Introduction to Collections

Slides:



Advertisements
Similar presentations
Transparency No. 1 Java Collection API : Built-in Data Structures for Java.
Advertisements

Sets and Maps Part of the Collections Framework. 2 The Set interface A Set is unordered and has no duplicates Operations are exactly those for Collection.
Collections CS3250. Sources  Slides by Professor Chuck Allison  Core Java, by Cay S. Horstmann and Gary Cornell  The Java Tutorial 
Java Collections Framework COMP53 Oct 24, Collections Framework A unified architecture for representing and manipulating collections Allows collections.
June 1, 2000 Object Oriented Programming in Java (95-707) Java Language Basics 1 Lecture 7 Object Oriented Programming in Java Advanced Topics Collection.
Using Maps. A simple map: Hashtable To create a Hashtable, use: import java.util.*; Hashtable table = new Hashtable(); To put things into a Hashtable,
15-Jun-15 Lists in Java Part of the Collections Framework.
Professor Evan Korth (adapted from Sun’s collections documentation)
Algorithm Programming Containers in Java Bar-Ilan University תשס " ו by Moshe Fresko.
What Is a Collection?  A collection (sometimes called a container) is simply an object that groups multiple elements into a single unit.  Collections.
24-Jun-15 Introduction to Collections. 2 Collections A collection is a structured group of objects Java 1.2 introduced the Collections Framework Collections.
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.
Data Structures & Java Collections Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 The Collection Interface public interface Collection extends Iterable { boolean add(E e); boolean addAll(Collection c); void clear(); boolean contains(Object.
Unit 291 Java Collections Framework: Interfaces Introduction to the Java Collections Framework (JCF) The Comparator Interface Revisited The Collection.
Collections The objectives of this chapter are: To outline the Collections infrastructure in Java To describe the various collection classes To discuss.
Lists in Java Part of the Collections Framework. Kinds of Collections Collection --a group of objects, called elements –Set-- An unordered collection.
12-Jul-15 Lists in Java Part of the Collections Framework.
The Collections Framework A Brief Introduction. Collections A collection is a structured group of objects –An array is a kind of collection –A Vector.
The Java Collections Package C. DeJong Fall 2001.
Java's Collection Framework
SEG4110 – Advanced Software Design and Reengineering TOPIC G Java Collections Framework.
Sets and Maps Part of the Collections Framework. The Set interface A Set is unordered and has no duplicates Operations are exactly those for Collection.
Java Programming: Advanced Topics 1 Collections and Wealth of Utilities.
Collections in Java. Kinds of Collections Collection --a group of objects, called elements –Set-- An unordered collection with no duplicates SortedSet.
Jan 12, 2012 Introduction to Collections. 2 Collections A collection is a structured group of objects Java 1.2 introduced the Collections Framework Collections.
Data Design and Implementation. Definitions of Java TYPES Atomic or primitive type A data type whose elements are single, non-decomposable data items.
1 TCSS 143, Autumn 2004 Lecture Notes Java Collection Framework: Maps and Sets.
Collections in Java. 2 Collections Hierarchy > ArrayListVector Stack LinkedList > Arrays Collections.
Sets and Maps Chris Nevison. Set Interface Models collection with no repetitions subinterface of Collection –has all collection methods has a subinterface.
The Java Collections Framework Based on
3-February-2003cse Collections © 2003 University of Washington1 Java Collections CSE 403, Winter 2003 Software Engineering
1 Collections Framework A collections framework is a unified architecture for representing and manipulating collections. All collections frameworks contain:
CS Ananda Gunawardena.  A collection (sometimes called a container) is simply an object that groups multiple elements into a single unit.  Collections.
Copyright (c) Systems and Computer Engineering, Carleton University * Object-Oriented Software Development Unit 13 The Collections Framework.
Sets and Maps Part of the Collections Framework. 2 The Set interface A Set is unordered and has no duplicates Operations are exactly those for Collection.
CMSC 202 Containers and Iterators. Container Definition A “container” is a data structure whose purpose is to hold objects. Most languages support several.
4-Mar-16 Introduction to Collections. Revision questions True false questions 0 for False 1 for True Please do not answer anything other than the above.
Collections Dwight Deugo Nesa Matic
3-1 Java's Collection Framework Another use of polymorphism and interfaces Rick Mercer.
 2016, Marcus Biel, ArrayList Marcus Biel, Software Craftsman
Java Collections CHAPTER 3-February-2003
Java Collections OOP tirgul No
Fundamental of Java Programming
Sets Set is an unordered list of items
Chapter 19 Java Data Structures
Software Development Java Collections
Programming & Data Structures
Interfaces in Java’s Collection Framework
Using Maps.
Using Maps.
Introduction to Collections
TCSS 143, Autumn 2004 Lecture Notes
JAVA Collections Framework Set Interfaces & Implementations
TCSS 342, Winter 2006 Lecture Notes
Programming in Java Lecture 11: ArrayList
Lecture 6: Collections.
Introduction to Collections
Introduction to Collections
Collections A First Glimpse.
Part of the Collections Framework
Using Maps.
Collections in Java The objectives of this lecture are:
Using Maps.
Introduction to Collections
Collections Framework
Introduction to Collections
Collections A First Glimpse 16-Apr-19.
Part of the Collections Framework
Java Generics & Iterators
Presentation transcript:

Introduction to Collections 18-Nov-18

Collections A collection is a structured group of objects Java 1.2 introduced the Collections Framework Collections are defined in java.util The Collections framework is mostly about interfaces There are a number of predefined implementations Java 5 introduced generics and “genericized” all the existing collections Vectors 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

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

The Collections hierarchy

Collections are ADTs Here’s the good news about collections: 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 And the bad news: Because there is no special syntax for them (as there is for lists, sets, and dictionaries in Python), you have to work with them using object notation

The Collection interface Much of the elegance of the Collections Framework arises from the intelligent use of interfaces The Collection interface specifies (among many other operations): boolean add(E o) boolean contains(Object o) boolean remove(Object o) boolean isEmpty() int size() Object[] toArray() Iterator<E> iterator()

Lists myList = ["Phil", "Mary", "Betty", "bob"] myList.sort() print myList print "bob is at", myList .index("bob") import random random.shuffle(myList ) print myList import java.util.*; public static void main(String args[]) { String[] array = {"Phil", "Mary", "Betty", "bob"}; List<String> myList = Arrays.asList(array); Collections.sort(myList); System.out.println("Sorted: " + myList); int where = Collections.binarySearch(myList, "bob"); System.out.println("bob is at " + where); Collections.shuffle(myList); System.out.println("Shuffled: " + myList); printAll(myList); }

The Iterator interface An iterator is an object that will return the elements of a collection, one at a time interface Iterator<E> boolean hasNext() Returns true if the iteration has more elements E next() Returns the next element in the iteration void remove() Removes from the underlying collection the last element returned by the iterator (optional operation)

The Set interface A set is a collection in which: There are no duplicate elements (according to equals), and Order is not important interface Set<E> implements Collection, Iterable The methods of Set are exactly the ones in Collection The following methods are especially interesting: boolean contains(Object o) // membership test boolean containsAll(Collection<?> c) //subset test boolean addAll(Collection<? extends E> c) // union boolean retainAll(Collection<?> c) // intersection boolean removeAll(Collection<?> c) // difference addAll, retainAll, and removeAll return true if the receiving set is changed, and false otherwise

The List interface A list is an ordered sequence of elements interface List<E> extends Collection, Iterable Some important List methods are: void add(int index, E element) E remove(int index) boolean remove(Object o) E set(int index, E element) E get(int index) int indexOf(Object o) int lastIndexOf(Object o) ListIterator<E> listIterator() A ListIterator is like an Iterator, but has, in addition, hasPrevious and previous methods

The SortedSet interface A SortedSet is a Set for which the order of elements is important interface SortedSet<E> implements Set, Collection, Iterable Two of the SortedSet methods are: E first() E last() More interestingly, only Comparable elements can be added to a SortedSet, and the set’s Iterator will return these in sorted order The Comparable interface is covered in a separate lecture

The Map interface A map is a data structure for associating keys and values Interface Map<K,V> The two most important methods are: V put(K key, V value) // adds a key-value pair to the map V get(Object key) // given a key, looks up the associated value Some other important methods are: Set<K> keySet() Returns a set view of the keys contained in this map. Collection<V> values() Returns a collection view of the values contained in this map

Dictionary -> HashMap hash = { 'one': 'un', 'two': 'deux', 'three': 'trois‘ } print 'two ->', hash['two'] print 'three ->', hash['three'] Hashtable<String, String> table = new Hashtable<String, String>(); table.put("one", "un"); table.put("two", "deux"); table.put("three", "trois"); System.out.println("two -> " + table.get("two")); System.out.println("deux -> " + table.get("deux"));

The SortedMap interface A sorted map is a map that keeps the keys in sorted order Interface SortedMap<K,V> Two of the SortedMap methods are: K firstKey() K lastKey() More interestingly, only Comparable elements can be used as keys in a SortedMap, and the method Set<K> keySet() will return a set of keys whose iterator will return them sorted order The Comparable interface is covered in a separate lecture

Some implementations class HashSet<E> implements Set class TreeSet<E> implements SortedSet class ArrayList<E> implements List class LinkedList<E> implements List class Vector<E> implements List class Stack<E> extends Vector Important methods: push, pop, peek, isEmpty class HashMap<K, V> implements Map class TreeMap<K, V> implements SortedMap All of the above provide a no-argument constructor

The End