JAVA COLLECTIONS LIBRARY

Slides:



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

Lists and the Collection Interface Chapter 4. Chapter Objectives To become familiar with the List interface To understand how to write an array-based.
Data Structures A data structure is a collection of data organized in some fashion that permits access to individual elements stored in the structure This.
CS 307 Fundamentals of Computer Science 1 Abstract Data Types many slides taken from Mike Scott, UT Austin.
Java Collections. Lecture Objectives To understand the concepts of Java collections To be able to implement Java programs based on Collections.
Lists and the Collection Interface Chapter 4. Chapter 4: Lists and the Collection Interface2 Chapter Objectives To become familiar with the List interface.
24-Jun-15 Introduction to Collections. 2 Collections A collection is a structured group of objects Java 1.2 introduced the Collections Framework Collections.
Fall 2007CS 2251 Lists and the Collection Interface Chapter 4.
© The McGraw-Hill Companies, 2006 Chapter 17 The Java Collections Framework.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L15 (Chapter 22) Java Collections.
Chapter 10 2D Arrays Collection Classes. Topics Arrays with more than one dimension Java Collections API ArrayList Map.
Chapter 19 Java Data Structures
CSE373 Optional Section Java Collections 11/12/2013 Luyi Lu.
Java's Collection Framework
Java Collections Framework A presentation by Eric Fabricant.
CS2110: SW Development Methods Textbook readings: MSD, Chapter 8 (Sect. 8.1 and 8.2) But we won’t implement our own, so study the section on Java’s Map.
Chapter 3 List Stacks and Queues. Data Structures Data structure is a representation of data and the operations allowed on that data. Data structure is.
Data Structures and Abstract Data Types "Get your data structures correct first, and the rest of the program will write itself." - David Jones.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 22 Java Collections.
Collections F The limitations of arrays F Java Collection Framework hierarchy  Use the Iterator interface to traverse a collection  Set interface, HashSet,
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 22 Java Collections.
JAVA COLLECTIONS LIBRARY School of Engineering and Computer Science, Victoria University of Wellington COMP T2, Lecture 2 Marcus Frean.
(c) University of Washington14-1 CSC 143 Java Collections.
Jan 12, 2012 Introduction to Collections. 2 Collections A collection is a structured group of objects Java 1.2 introduced the Collections Framework Collections.
The Java Collections Framework (JCF) Introduction and review 1.
Big Java Chapter 16.
CSE 143 Lecture 2 More ArrayList ; classes and objects reading: 10.1; slides created by Marty Stepp and Hélène Martin
Some Other Collections: Bags, Sets, Queues and Maps COMP T2 Lecture 4 School of Engineering and Computer Science, Victoria University of Wellington.
Chapter 18 Java Collections Framework
Data structures Abstract data types Java classes for Data structures and ADTs.
1/20/03A2-1 CS494 Interfaces and Collection in Java.
Chapter 12: Collections by Lewis and Loftus (Updated by Dan Fleck) Coming up: Collections.
Collections Data structures in Java. OBJECTIVE “ WHEN TO USE WHICH DATA STRUCTURE ” D e b u g.
JAVA COLLECTIONS LIBRARY School of Engineering and Computer Science, Victoria University of Wellington COMP T2, Lecture 2 Thomas Kuehne.
Data Design and Implementation. Definitions Atomic or primitive type A data type whose elements are single, non-decomposable data items Composite type.
IMPLEMENTING ARRAYLIST COMP 103. RECAP  Comparator and Comparable  Brief look at Exceptions TODAY  Abstract Classes - but note that the details are.
Slides prepared by Rose Williams, Binghamton University Chapter 16 Collections and Iterators.
1 Java's Collection Framework Map and Sets. 2 Collection Framework  A collections framework is a unified architecture for representing and manipulating.
JAVA COLLECTIONS LIBRARY School of Engineering and Computer Science, Victoria University of Wellington COMP T2, Lecture 2 Marcus Frean.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 21 Sets and Maps.
3-1 Java's Collection Framework Another use of polymorphism and interfaces Rick Mercer.
Lecture 9:FXML and Useful Java Collections Michael Hsu CSULA.
COMP 103 Maps and Queues. RECAP  Iterators (for-each loop)  Bag, Sets, and Stacks - a class, not interface TODAY  Maps and Queues 2 RECAP-TODAY QUICK.
 2016, Marcus Biel, ArrayList Marcus Biel, Software Craftsman
Lists and the Collection Interface Chapter 4. Chapter 4: Lists and the Collection Interface2 Chapter Objectives To become familiar with the List interface.
Notices Assn 2 is due Friday, 7pm. Moodle quiz next week – written in the lab as before. Everything up to and including Thursday’s lecture: Big Topics.
Collections ABCD ABCD Head Node Tail Node array doubly linked list Traditional Arrays and linked list: Below is memory representation of traditional.
Chapter 21 Sets and Maps Jung Soo (Sue) Lim Cal State LA.
Slides by Donald W. Smith
Using the Java Collection Libraries COMP 103 # T2
Sixth Lecture ArrayList Abstract Class and Interface
Collections.
Some Collections: BAGS, SETS, and STACKS
Chapter 19 Java Data Structures
Software Development Java Collections
JAVA COLLECTIONS LIBRARY
University of Central Florida COP 3330 Object Oriented Programming
Implementing ArrayList Part 1
Road Map CS Concepts Data Structures Java Language Java Collections
structures and their relationships." - Linus Torvalds
Java Collections Overview
CSE 143 Lecture 2 Collections and ArrayIntList
Welcome to CSE 143! Go to pollev.com/cse143.
Collections Not in our text.
CS2110: Software Development Methods
Parsing JSON, Using Libraries, Java Collections, Generics
structures and their relationships." - Linus Torvalds
Presentation transcript:

JAVA COLLECTIONS LIBRARY COMP 103 JAVA COLLECTIONS LIBRARY

TODAY Libraries, Collections : Java Collections Library 2 Libraries, Collections : Java Collections Library Interfaces and Classes Abstract Data Types ArrayList (used in assignment #1)

Programming with Libraries 3 Modern programs (especially GUI and network) are too big to build from scratch Have to reuse code written by other people Libraries contain code designed for reuse Java has a huge number of standard libraries... Packages, which are groups of Classes The comp102 library has some very useful classes (ex. UI Class) There are LOTS of other libraries as well Learning to use libraries is ESSENTIAL Java API

Libraries for COMP103 4 Comp102 Special UI class for text/graphical input and output java.util the Collection classes, other utility classes java.io Classes for input and output javax.swing Large library of classes for GUI jawa.awt programs We will use these libraries in almost every program

Using Libraries Read the documentation to pick useful library 5 Read the documentation to pick useful library Import the package or class into your program import java.util.*; import java.io.*; import comp102.*; Read the documentation to identify how to use Constructors for making instances Methods that you can call Interfaces that you can implement Use the classes as if they were part of your program Java API

Collections 6 An object that serves as a repository for other objects (like a “container”) Type of Elements (a collection of ….) Structure (no/linear/hierarchical) Constraints (duplicates? Access: add anywhere, remove from one end only, get from top, etc…) Don’t care how it’s stored or manipulated inside

Example Bag : a example of a collection Type of Elements 7 Bag : a example of a collection Collection type Element type Type of Elements Bag of Students Structure No structure/order Constraints Duplicates allowed, add/remove anywhere (no order)

“Standard” Collections 8 Common ways of organizing a collection of values: Each of these is a different type of collection Collections Bag Graph Tree Stack Queue List Map Set

Java Collections Library Standard collections (eg. Bag, Set, List, Map, etc.) are implemented for you! Java Collections Library Code written by others – for you to use! Collections implemented as interfaces Collection, Set, List, Queue – are all interfaces Using collections implies using one of the many concrete classes that implement these interfaces. Eg. You can use: ArrayList (a class) which implements List (an interface).

Java Collections Library (partial overview) Interfaces, hmm…. Source: http://www.programcreek.com/2009/02/the-interface-and-class-hierarchy-for-collections/

Java Interfaces 11 At the simplest level: An interface is a bunch of method signatures (no bodies) with a name. At a higher level: An interface is an abstract concept that defines: the operations that can be done to an object of this type how it will behave No concrete details! No constructors - can’t make an instance No fields - doesn’t say how to store the data No method bodies. - doesn’t say how to perform the operations Details provided by Classes that implements the Interface A Java Interface corresponds to an Abstract Data Type (ADT) I removed ADT slide as we never really properly build on this concept – mentioning by name and telling them about it informally is enough for now. (Alex)

Java Collections Library 12 Interfaces: Collection = Bag (most general) List = ordered collection Set = unordered, no duplicates Queue ordered collection, limited access (add at one end, remove from other) Map = key-value pairs (or mapping) Specify the Types Classes: List classes: ArrayList, LinkedList, Vector Set classes: HashSet, TreeSet, EnumSet, LinkedHashSet,… Map classes: EnumMap, HashMap, TreeMap, LinkedHashMap, WeakHashMap, … … Implement the interfaces Each implementation has advantages and disadvantages abstract concrete Alex: This BAG stuff has gotta go!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ArrayList (used lots in Assignment1) 13 Part of the Java Collections framework Predefined class, implements List interface Stores a LIST of items a collection of items kept in a particular order Part of the java.util package ⇒ need import java.util.*; at the head of your file You can make a new ArrayList object, and put items in it Don’t have to specify its size: Like an infinitely stretchable array Should specify the type of items But, you can’t use the [...] notation You have to call methods to access and assign

Using ArrayList: declaring 14 List of students (assume we have a class called Student) Array: private static final int maxStudents = 1000; private Student[ ] students = new Student[maxStudents]; private int count = 0; ArrayList: private ArrayList <Student> students = new ArrayList <Student>(); Type of elements in the list is between “<” and “>” after ArrayList No maximum, no initial size (!), no explicit count

QUICK TIP: Read Documentation from sidebar of course homepage Using ArrayList: methods 15 ArrayList has many methods! size(): returns the number of items in the list add(item): adds an item to the end of the list add(index, item): inserts an item at index (moves later items up) set(index, item): replaces the item at index with item contains(item): true if the list contains an item that equals item get(index): returns the item at position index remove(item): removes an occurrence of item remove(index): removes the item at position index (both “removes” move the later items down) You can use the “for each” loop on an ArrayList, as well as for loop QUICK TIP: Read Documentation from sidebar of course homepage

Using ArrayList 16 private ArrayList <Student> students = new ArrayList <Student> (); Student s = new Student(“Davy Jones”, 300012345); students.add(s); for(int i = students.size()-1; i>=0; i--) { UI.println(students.get(i).toString()); } if(students.contains(current)) { UI.println(current); students.remove(current); .... ....

Summary Libraries Collections 17 Libraries Collections Interfaces – correspond to ADTs. No concrete details. Eg. Collection, List, Set… ArrayList – example of a class that implements an interface (List) from the Java Collections Library.

What’s Next? 18 How do we define the type of element a collection contains? Constructing a new object of an appropriate collection class. What can we do with them? What methods can we call on them? How do we iterate down all the elements of a collection? How do we choose the right collection interface and class? What if there isn’t the right class for what we want?