CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/

Slides:



Advertisements
Similar presentations
EXAMPLES (Arrays). Example Many engineering and scientific applications represent data as a 2-dimensional grid of values; say brightness of pixels in.
Advertisements

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
1 More on Arrays Passing arrays to or from methods Arrays of objects Command line arguments Variable length parameter lists Two dimensional arrays Reading.
ECE122 L13: Arrays of Objects March 15, 2007 ECE 122 Engineering Problem Solving with Java Lecture 13 Arrays of Objects.
1 More on Arrays Arrays of objects Command line arguments The ArrayList class Javadoc Review Lecture 8 notes and L&L 7.1 – 7.2 Reading for this lecture:
Arrays Chapter 7 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013.
CSC 1051 M.A. Papalaskari, Villanova University Repetition CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Copyright © 2012 Pearson Education, Inc. Chapter 8 Arrays Java Software Solutions Foundations of Program Design Seventh Edition John Lewis William Loftus.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
8-1 Chapter 8: Arrays Arrays are objects that help us organize large amounts of information Today we will focuses on: –array declaration and use –bounds.
CSC 1051 – Algorithms and Data Structures I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Outline Creating Objects The String Class The Random and Math Classes Formatting Output Enumerated Types Wrapper Classes Components and Containers Images.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Chapter 7 Arrays: Part 2. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Outline Declaring and Using Arrays Arrays of Objects Variable Length Parameter.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Chapter 7 Arrays 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design © 2007 Pearson Addison-Wesley. All rights reserved.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 M.A. Papalaskari, Villanova University Conditional Statements Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University.
Chapter 7 Arrays: Part 1 of 2. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of.
Dr. Sahar Shabanah Lecture 3: Arrays. Data Structures Data structures are organized collections of information and a set of operations used to manage.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
© 2004 Pearson Addison-Wesley. All rights reserved October 10, 2007 Parameter Lists & Command Line Arguments ComS 207: Programming I (in Java) Iowa State.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 M.A. Papalaskari, Villanova University Everyday objects: Strings and Wrappers CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 M.A. Papalaskari, Villanova University Algorithms Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Algorithms and Data Structures I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 M.A. Papalaskari, Villanova University Repetition CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing.
Arrays.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
1 Arrays Chapter 8. Objectives You will be able to Use arrays in your Java programs to hold a large number of data items of the same type. Initialize.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Chapter 7 Arrays…. 7-2 Arrays An array is an ordered list of values An array of size N is indexed from.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Arrays of Objects October 9, 2006 ComS 207: Programming I (in Java)
COS 312 DAY 14 Tony Gauvin.
Java Software Solutions Foundations of Program Design 9th Edition
CSC 1051 – Data Structures and Algorithms I
Each value has a numeric index
Chapter 7: Arrays.
Java Software Solutions Foundations of Program Design Seventh Edition
Java Software Solutions Foundations of Program Design 8th Edition
Java Software Solutions Foundations of Program Design 9th Edition
CSC 1051 – Data Structures and Algorithms I
Arrays of Objects October 8, 2007 ComS 207: Programming I (in Java)
Repetition CSC 1051 – Data Structures and Algorithms I Course website:
Presentation transcript:

CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: Some slides in this presentation are adapted from the slides accompanying Java Software Solutions by Lewis & Loftus CSC 1051 M.A. Papalaskari, Villanova University Arrays of Objects

Arrays - Review The entire array has a single name index This array holds 10 values of type double that are indexed from 0 to 9 The size of the array is given by: scores.length = 10 CSC 1051 M.A. Papalaskari, Villanova University scores[2] array element scores element type scores[0] = 7.9; scores[1] = 8.7; scores[2] = 9.4; scores[3] = 8.2; scores[4] = 6.7; scores[5] = 9.8; scores[6] = 8.7; scores[7] = 8.1; scores[8] = 7.4; scores[9] = 9.1; Instantiation: Declaration: = new double[10];double[] scores Initialization: Alternative declaration/instantiation/Initialization: double[] scores = {7.9, 8.7, 9.4, 8.2, 6.7, 9.8, 8.7, 8.1, 7.4, 9.1};

Example: An array of Strings String[] words = new String[5]; CSC 1051 M.A. Papalaskari, Villanova University words At this point, the following line of code would throw a NullPointerException : System.out.println(words[0]);

Example: An array of Strings String[] words = new String[5]; CSC 1051 M.A. Papalaskari, Villanova University Now, store some String objects in the array: words[0]= "friendship"; words[1] = "loyalty"; words[2] = "honor”; "friendship" words - - "loyalty" "honor"

Arrays of Objects The following declaration creates an array object called verbs and fills it with four String objects created using string literals String[] verbs = {"play", "work", "eat", "sleep", "run"}; CSC 1051 M.A. Papalaskari, Villanova University

Arrays of Objects Example: managing a collection of DVD objects CSC 1051 M.A. Papalaskari, Villanova University Movies.java DVD.java DVDCollection.java

CSC 1051 M.A. Papalaskari, Villanova University //******************************************************************** // Movies.java Author: Lewis/Loftus // // Demonstrates the use of an array of objects. //******************************************************************** public class Movies { // // Creates a DVDCollection object and adds some DVDs to it. Prints // reports on the status of the collection. // public static void main (String[] args) { DVDCollection movies = new DVDCollection(); movies.addDVD ("The Godfather", "Francis Ford Coppala", 1972, 24.95, true); movies.addDVD ("District 9", "Neill Blomkamp", 2009, 19.95, false); movies.addDVD ("Iron Man", "Jon Favreau", 2008, 15.95, false); movies.addDVD ("All About Eve", "Joseph Mankiewicz", 1950, 17.50, false); movies.addDVD ("The Matrix", "Andy & Lana Wachowski", 1999, 19.95, true); System.out.println (movies); movies.addDVD ("Iron Man 2", "Jon Favreau", 2010, 22.99, false); movies.addDVD ("Casablanca", "Michael Curtiz", 1942, 19.95, false); System.out.println (movies); } Movies.java

CSC 1051 M.A. Papalaskari, Villanova University //******************************************************************** // Movies.java Author: Lewis/Loftus // // Demonstrates the use of an array of objects. //******************************************************************** public class Movies { // // Creates a DVDCollection object and adds some DVDs to it. Prints // reports on the status of the collection. // public static void main (String[] args) { DVDCollection movies = new DVDCollection(); movies.addDVD ("The Godfather", "Francis Ford Coppala", 1972, 24.95, true); movies.addDVD ("District 9", "Neill Blomkamp", 2009, 19.95, false); movies.addDVD ("Iron Man", "Jon Favreau", 2008, 15.95, false); movies.addDVD ("All About Eve", "Joseph Mankiewicz", 1950, 17.50, false); movies.addDVD ("The Matrix", "Andy & Lana Wachowski", 1999, 19.95, true); System.out.println (movies); movies.addDVD ("Iron Man 2", "Jon Favreau", 2010, 22.99, false); movies.addDVD ("Casablanca", "Michael Curtiz", 1942, 19.95, false); System.out.println (movies); } Output ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ My DVD Collection Number of DVDs: 5 Total cost: $98.30 Average cost: $19.66 DVD List: $ The GodfatherFrancis Ford CoppalaBlu-Ray $ District 9Neill Blomkamp $ Iron ManJon Favreau $ All About EveJoseph Mankiewicz $ The MatrixAndy & Lana WachowskiBlu-Ray continue

CSC 1051 M.A. Papalaskari, Villanova University //******************************************************************** // Movies.java Author: Lewis/Loftus // // Demonstrates the use of an array of objects. //******************************************************************** public class Movies { // // Creates a DVDCollection object and adds some DVDs to it. Prints // reports on the status of the collection. // public static void main (String[] args) { DVDCollection movies = new DVDCollection(); movies.addDVD ("The Godfather", "Francis Ford Coppala", 1972, 24.95, true); movies.addDVD ("District 9", "Neill Blomkamp", 2009, 19.95, false); movies.addDVD ("Iron Man", "Jon Favreau", 2008, 15.95, false); movies.addDVD ("All About Eve", "Joseph Mankiewicz", 1950, 17.50, false); movies.addDVD ("The Matrix", "Andy & Lana Wachowski", 1999, 19.95, true); System.out.println (movies); movies.addDVD ("Iron Man 2", "Jon Favreau", 2010, 22.99, false); movies.addDVD ("Casablanca", "Michael Curtiz", 1942, 19.95, false); System.out.println (movies); } Output ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ My DVD Collection Number of DVDs: 5 Total cost: $98.30 Average cost: $19.66 DVD List: $ The GodfatherFrancis Ford CoppalaBlu-Ray $ District 9Neill Blomkamp $ Iron ManJon Favreau $ All About EveJoseph Mankiewicz $ The MatrixAndy & Lana WachowskiBlu-Ray continue Output (continued) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ My DVD Collection Number of DVDs: 7 Total cost: $ Average cost: $20.18 DVD List: $ The GodfatherFrancis Ford CoppalaBlu-Ray $ District 9Neill Blomkamp $ Iron ManJon Favreau $ All About EveJoseph Mankiewicz $ The MatrixAndy & Lana WachowskiBlu-Ray $ Iron Man 2Jon Favreau $ CasablancaMichael Curtiz

CSC 1051 M.A. Papalaskari, Villanova University //******************************************************************** // DVDCollection.java Author: Lewis/Loftus // // Represents a collection of DVD movies. //******************************************************************** import java.text.NumberFormat; public class DVDCollection { private DVD[] collection; private int count; private double totalCost; // // Constructor: Creates an initially empty collection. // public DVDCollection () { collection = new DVD[100]; count = 0; totalCost = 0.0; } continue DVDCollection.java

CSC 1051 M.A. Papalaskari, Villanova University continue // // Adds a DVD to the collection, increasing the size of the // collection array if necessary. // public void addDVD (String title, String director, int year, double cost, boolean bluRay) { if (count == collection.length) increaseSize(); collection[count] = new DVD (title, director, year, cost, bluRay); totalCost += cost; count++; } continue

CSC 1051 M.A. Papalaskari, Villanova University continue // // Returns a report describing the DVD collection. // public String toString() { NumberFormat fmt = NumberFormat.getCurrencyInstance(); String report = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"; report += "My DVD Collection\n\n"; report += "Number of DVDs: " + count + "\n"; report += "Total cost: " + fmt.format(totalCost) + "\n"; report += "Average cost: " + fmt.format(totalCost/count); report += "\n\nDVD List:\n\n"; for (int dvd = 0; dvd < count; dvd++) report += collection[dvd].toString() + "\n"; return report; } continue

CSC 1051 M.A. Papalaskari, Villanova University continue // // Increases the capacity of the collection by creating a // larger array and copying the existing collection into it. // private void increaseSize () { DVD[] temp = new DVD[collection.length * 2]; for (int dvd = 0; dvd < collection.length; dvd++) temp[dvd] = collection[dvd]; collection = temp; }

CSC 1051 M.A. Papalaskari, Villanova University //******************************************************************** // DVD.java Author: Lewis/Loftus // // Represents a DVD video disc. //******************************************************************** import java.text.NumberFormat; public class DVD { private String title, director; private int year; private double cost; private boolean bluRay; // // Creates a new DVD with the specified information. // public DVD (String title, String director, int year, double cost, boolean bluRay) { this.title = title; this.director = director; this.year = year; this.cost = cost; this.bluRay = bluRay; } continue DVD.java

CSC 1051 M.A. Papalaskari, Villanova University continue // // Returns a string description of this DVD. // public String toString() { NumberFormat fmt = NumberFormat.getCurrencyInstance(); String description; description = fmt.format(cost) + "\t" + year + "\t"; description += title + "\t" + director; if (bluRay) description += "\t" + "Blu-Ray"; return description; }