Chapter 4 Grouping Objects. Flexible Sized Collections  When writing a program, we often need to be able to group objects into collections  It is typical.

Slides:



Advertisements
Similar presentations
Chapter 7 Constructors and Other Tools. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 7-2 Learning Objectives Constructors Definitions.
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.
Lists Chapter 4 Carrano, Data Structures and Abstractions with Java, Second Edition, (c) 2007 Pearson Education, Inc. All rights reserved X.
Composition CMSC 202. Code Reuse Effective software development relies on reusing existing code. Code reuse must be more than just copying code and changing.
Grouping objects Iterators. Iterator and iterator() Collections have an iterator() method. This returns an Iterator object. Iterator has three methods:
Programming Logic and Design, Third Edition Comprehensive
Grouping objects Introduction to collections 5.0.
Grouping Objects Arrays and for loops. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Fixed-Size Collections.
Grouping Objects 3 Iterators, collections and the while loop.
Programming with Collections Collections in Java Using Arrays Week 9.
Loops Notes adapted from Dr. Flores. It repeats a set of statements while a condition is true. while (condition) { execute these statements; } “while”
Lists and the Collection Interface Chapter 4. Chapter 4: Lists and the Collection Interface2 Chapter Objectives To become familiar with the List interface.
Slides prepared by Rose Williams, Binghamton University Chapter 14 Generics and the ArrayList Class.
Fall 2007CS 2251 Lists and the Collection Interface Chapter 4.
© The McGraw-Hill Companies, 2006 Chapter 17 The Java Collections Framework.
Arrays, Loops weeks 4-6 (change from syllabus for week 6) Chapter 4.
Grouping objects Collections and iterators. 04/11/2004Lecture 4: Grouping Objects2 Main concepts to be covered Collections Loops Iterators Arrays.
Modul 3 Collections af objekter Arraylist Collections Objektorienteret design og Java. 4.0.
Programming with Collections Grouping & Looping - Collections and Iteration Week 7.
Chapter 10 2D Arrays Collection Classes. Topics Arrays with more than one dimension Java Collections API ArrayList Map.
Day 4 Objectives Constructors Wrapper Classes Operators Java Control Statements Practice the language.
ArrayLists.  The Java API includes a class named ArrayList. The introduction to the ArrayList class in the Java API documentation is shown below.  java.lang.Object.
Week 4-5 Java Programming. Loops What is a loop? Loop is code that repeats itself a certain number of times There are two types of loops: For loop Used.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
Grouping objects Collections and iterators. Main concepts to be covered Collections Loops Iterators.
4.1 Instance Variables, Constructors, and Methods.
ArrayList, Multidimensional Arrays
Objects First With Java A Practical Introduction Using BlueJ Grouping objects Collections and iterators 2.0.
Grouping objects Arrays, Collections and Iterators 1.0.
Arrays and ArrayLists in Java L. Kedigh. Array Characteristics List of values. A list of values where every member is of the same type. Each member in.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
1 © 2002, Cisco Systems, Inc. All rights reserved. Arrays Chapter 7.
1 BUILDING JAVA PROGRAMS CHAPTER 7.1 ARRAY BASICS.
Grouping objects Collections and iterators Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Main.
JAVA COLLECTIONS M. TAIMOOR KHAN (ADAPTED FROM SWINBURNE NOTES)
1 CS161 Introduction to Computer Science Topic #9.
Lecture 121 CS110 Lecture 12 Tuesday, March 9, 2004 Announcements –hw5 due Thursday –Spring break next week Agenda –questions –ArrayList –TreeMap.
Grouping objects Iterators. Iterator type Third variation to iterate over a collection Uses a while loop and Iterator object But NO integer index variable.
Objects First With Java A Practical Introduction Using BlueJ Grouping objects Collections and iterators 1.0.
Chapter 4 Grouping Objects. Flexible Sized Collections  When writing a program, we often need to be able to group objects into collections  It is typical.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
GROUPING OBJECTS CITS1001. Lecture outline The ArrayList collection Process all items: the for-each loop 2.
COMPUTER PROGRAMMING 2 ArrayLists. Objective/Essential Standard Essential Standard 3.00Apply Advanced Properties of Arrays Essential Indicator 3.02 Apply.
Grouping objects Arrays. 2 Fixed-size collections The maximum collection size may be pre-determined with an upper limit Array is an fixed-size collection.
Arrays Chapter 7. MIS Object Oriented Systems Arrays UTD, SOM 2 Objectives Nature and purpose of an array Using arrays in Java programs Methods.
Chapter 7 Constructors and Other Tools Copyright © 2010 Pearson Addison-Wesley. All rights reserved.
Collections and Iteration Week 13.  Collections  ArrayList objects  Using loops with collections Collections and Iteration CONCEPTS COVERED THIS WEEK.
Glenn Stevenson CSIS 113A MSJC CSIS 123A Lecture 3 Vectors.
Chapter 8 Slides from GaddisText Arrays of more than 1 dimension.
Grouping objects Iterators, collections and the while loop Equality and Equality == and equals(…)
19-Mar-16 Collections and ArrayLists.. 2 Collections Why use Collections. Collections and Object-Orientation. ArrayLists. Special Features. Creating ArrayLists.
Chapter 9 Introduction to Arrays Fundamentals of Java.
Lecture 8: Collections, Comparisons and Conversions. Svetla Boytcheva AUBG, Spring COS 240 Object-Oriented Languages.
CS100Lecture 61 Announcements Homework P1 due on Thursday Homework P2 handed out.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Copyright © 2002 Pearson Education, Inc. Slide 1.
Coming up ArrayList ArrayList vs Array – Declaration – Insertion – Access – Removal Wrapper classes Iterator object.
Lists and the Collection Interface Chapter 4. Chapter 4: Lists and the Collection Interface2 Chapter Objectives To become familiar with the List interface.
Chapter 8: Understanding Collections Textbook: Chapter 4.
Chapter VII: Arrays.
Objects First with Java CITS1001 week 4
Fixed-sized collections
COS 260 DAY 9 Tony Gauvin.
Chapter 8 Slides from GaddisText
Object Oriented Programming in java
Objects First with Java Introduction to collections
Collections and iterators
Classes, Objects and Methods
Collections and iterators
Arrays.
Presentation transcript:

Chapter 4 Grouping Objects

Flexible Sized Collections  When writing a program, we often need to be able to group objects into collections  It is typical that the number of items to be stored will vary over time  We could create a class with a lot of fixed fields, but in general this will not work

Personal Notebook Example  We will model a personal notebook  Allow notes to be stored  No limit to the number of notes stored  Show individual notes  Tells how many notes are stored

Library Classes  One feature of OO languages, is the accompanying class libraries  Library typically contain hundreds or thousands of different classes  Java calls these libraries packages  We use library classes exactly the same way we would our own classes  Instances are constructed using new, and the classes have fields, constructors and methods

Actual Code  Let’s look at the Notebook class code.  Notebook Project Notebook Project Notebook Project  The very first line shows how we access the package, using an import statement  import java.util.ArrayList;  Import statements must always be placed before class definitions in a file.  Once a class name has been imported, we can use that class as if it were our own.

Object Structures with Collections  There are at least three important features  It is able to increase its internal capacity as required: as more items are added, it simply makes enough room for them.  It keeps its own private count of how many items it is currently storing. Its size method returns the number of objects currently stored  It maintains the order of items you insert into it. You can later retrieve them in the same order.

Numbering within Collections  It is necessary to use values starting at zero.  Items are stored in the ArrayList starting a number position zero  The position is known as the index  First is given index 0, the next is index 1, …  It is a common mistake to try to access a collection outside the valid indices.

Removing Elements  When a user wants to remove an note, we can invoke the remove method of the notebook object  One complication of the removal process is that it can change the index values at which notes are stored  If a note with a low index value is removed, then the collection moves all notes forward to fill the hole.  Furthermore, it is possible to insert into other than at the end.

Processing a whole collection  It would be useful to list all the notes in the notebook it find where all of them are  We have the need to do something several times, but the number of times depends upon circumstances that vary.  The solution is the while loop; one of Java’s loop statements

The while loop  A while loop is one way to perform a set of actions repeatedly, without having to write those actions more than once.  Here is a general format while ( loop condition ) { loop body //statements you want to //repeat}

Example /* *List all notes in the notebook *List all notes in the notebook */ */ public void listNotes() { int index = 0; while ( index < notes.size() ) {System.out.println(notes.get(index));index++;}}

While vs. If  Do not confuse a while loop with an if.  Although they look similar, they operate in very different ways  The biggest difference is that once the body of the loop has been executed for the first time, we go back to the test again to see if the body should be executed.

Iterators  Examining every item in a collection is a very common activity.  The ArrayList class supplies an iterator method that supplies an Iterator object that allows us to iterate over the collection  We must add another import statement to use the iterator object  import java.util.Iterator;

Iterators  An Iterator supplies two methods to iterate over a collection: hasNext and next Iterator it = myCollection.iterator(); while ( it.hasNext() ) { //call it.next() to get the //next object and do something //with that object }

Indices vs. Iterators  We have seen approaches to accessing elements in an ArrayList  In this example, both seem equally adequate  Java supplies many other collections that are not as straight foreword  It may also be inefficient or impossible to access elements through indices.  All Java collections have iterators

The Auction System Example  The Auction System Example The Auction System Example The Auction System Example  highestBid == null  null is a Java key word and means ‘no object’  When a field is an object type and it is not explicity initialized in a constructor, that field will contain the value null

Casting  Casting is an important feature of Java Lot lot = (Lot) it.next();  A cast consists of the name of a type written alone between a pair of parentheses  Casting is commonly seen when retrieving objects from a collection  This is required because collections can store any type of object  Casting makes it clear what type of object it is

Who? Anonymous Object  When you need to create an object to add to a collection  You can create an anonymous object to take care of this Lot furtherLot = new Lot( nextLotNumber, description); lots.add(furtherLot);  or lots.add(new Lot( nextLotNumber, description));

Fixed-size Collections  When you do know the number of items to store at the time you write the program.  You can used a fixed-sized collection  In Java the fixed-sized collection is called an Array

Arrays  Arrays are one of the oldest ways to store data  They come with some special syntax to access elements in the array  Another type of loop is often used to process elements in an array.  Log Analyzer Project Log Analyzer Project Log Analyzer Project

Declaring Array Variables  To declare a variable of an array type  private int[ ] hourCounts;  Notice the brackets [ ]  Then to create the array object, you use new just like all other object creations  hourCount = new int[24];  Notice the number between the brackets

Using Array Objects  You access individual array elements by indexing into the array  An index is a number between 0 and one less then the number used to create the array  labels[6]  machines[0]  people[x+10-y]

Indices  You can use an array access anywhere you can use a variable of the same type  labels[5] = “Quit”;  double half = readings[0] / 2;  System.out.println(people[3].getName());  machines[0] = new TicketMachine(500);

The for Loop  The for loop is an alternative choice to the while loop  It is particularly appropriate when  We wish to execute a set of commands a fixed number of times  We need a variable inside the loop whose value changes by a fixed amount

The for Loop: An example for( int hour=0; hour<hourCounts.length; hour++) { System.out.println(hour + “: ” + hourCounts[hour]); }

Quiz  Write a class for a Person that will store a first name and a last name.  You do not need to write any methods, just the private fields and the class wrapper.