1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 8 focuses on: array declaration and use passing arrays and array.

Slides:



Advertisements
Similar presentations
Arrays. What is an array An array is used to store a collection of data It is a collection of variables of the same type.
Advertisements

CSCI 1100/ , 6.2, 6.4 April 12, 15, 17.
Arrays.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Arrays Clark Savage Turner, J.D., Ph.D. Copyright © 2000 by C Scheftic. All rights reserved. These notes do rely heavily.
Arrays  Writing a program that uses a large amount of information.  Such as a list of 100 elements.  It is not practical to declare.
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.
1 Arrays b An array is an ordered list of values An array of size N is indexed from zero to N-1 scores.
Wecksten, Mattias Arrays Based on templates from Lewis & Loftus.
ECE122 L13: Arrays of Objects March 15, 2007 ECE 122 Engineering Problem Solving with Java Lecture 13 Arrays of Objects.
ECE122 L11: For loops and Arrays March 8, 2007 ECE 122 Engineering Problem Solving with Java Lecture 11 For Loops and Arrays.
Aalborg Media Lab 28-Jun-15 Software Design Lecture 8 “Arrays”
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
Arrays in Java Selim Aksoy Bilkent University Department of Computer Engineering
1 CSCE 1030 Computer Science 1 Arrays Chapter 7 in Small Java.
Chapter 6: Arrays Java Software Solutions Third Edition
© 2011 Pearson Education, publishing as Addison-Wesley 1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 6 focuses.
Chapter 6Java: an Introduction to Computer Science & Programming - Walter Savitch 1 l Array Basics l Arrays in Classes and Methods l Programming with Arrays.
7. Arrays. Topics Declaring and Using Arrays Some Array Algorithms Arrays of Objects Variable Length Parameter Lists Two-Dimensional Arrays The ArrayList.
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 Dr. Seuss again: "Too Many Daves"  Did I ever tell you that Mrs. McCave Had twenty-three sons, and she named them all Dave?  Well, she did. And that.
Chapter 6: Arrays Presentation slides for Java Software Solutions for AP* Computer Science by John Lewis, William Loftus, and Cara Cocking Java Software.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
1 © 2002, Cisco Systems, Inc. All rights reserved. Arrays Chapter 7.
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 6: Arrays Presentation slides for Java Software Solutions for AP* Computer Science 3rd Edition.
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.
CSE 501N Fall ‘09 08: Arrays 22 September 2009 Nicholas Leidenfrost.
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.
OBJECTS FOR ORGANIZING DATA -- As our programs get more sophisticated, we need assistance organizing large amounts of data. : array declaration and use.
Programming in Java (COP 2250) Lecture Chengyong Yang Fall, 2005.
1 Arrays An array is an ordered list of values An array of size N is indexed from zero to N-1 scores.
Java Software Solutions Foundations of Program Design Sixth Edition by Lewis & Loftus Chapter 7: Arrays.
Chapter overview This chapter focuses on Array declaration and use Bounds checking and capacity Arrays storing object references Variable length parameter.
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.
© 2004 Pearson Addison-Wesley. All rights reserved October 15, 2007 Searching ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:
 2008 Pearson Education, Inc. All rights reserved. 1 Arrays and Vectors.
Java Software Solutions Lewis and Loftus Chapter 6 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Objects for Organizing Data.
Chapter 7 Arrays 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design © 2007 Pearson Addison-Wesley. All rights reserved.
1 Objects for Organizing Data -- Introduction zAs our programs get more sophisticated, we need assistance organizing large amounts of data zChapter 6 focuses.
Chapter 8: Part 3 Collections and Two-dimensional arrays.
CSC 1051 – Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
Grouping Data Together Often we want to group together a number of values or objects to be treated in the same way e.g. names of students in a tutorial.
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.
Arrays. Arrays are objects that help us organize large amounts of information.
© 2004 Pearson Addison-Wesley. All rights reserved5-1 The if-else Statement An else clause can be added to an if statement to make an if-else statement.
Chapter 9 Introduction to Arrays Fundamentals of Java.
Chapter 7 Arrays…. 7-2 Arrays An array is an ordered list of values An array of size N is indexed from.
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 6: Arrays Presentation slides for Java Software Solutions for AP* Computer Science 3rd Edition.
© 2004 Pearson Addison-Wesley. All rights reserved October 5, 2007 Arrays ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:
LESSON 8: INTRODUCTION TO ARRAYS. Lesson 8: Introduction To Arrays Objectives: Write programs that handle collections of similar items. Declare array.
Lecture 5 array declaration and instantiation array reference
Arrays of Objects October 9, 2006 ComS 207: Programming I (in Java)
ARRAYS (Extra slides) Arrays are objects that help us organize large amounts of information.
Chapter VII: Arrays.
Chapter 6: Arrays Java Software Solutions
Arrays, 2-D Arrays, and ArrayList
JavaScript: Functions.
Arrays We often want to organize objects or primitive data in a way that makes them easy to access and change. An array is simple but powerful way to.
Arrays October 6, 2006 ComS 207: Programming I (in Java)
Arrays in Java.
Visual Programming COMP-315
Arrays of Objects October 8, 2007 ComS 207: Programming I (in Java)
Arrays.
Presentation transcript:

1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 8 focuses on: array declaration and use passing arrays and array elements as parameters arrays of objects the ArrayList class multidimensional arrays sorting elements in an array

2 Arrays  An array is an ordered list of values An array of size N is indexed from zero to N-1 scores The entire array has a single name Each value has a numeric index This array holds 10 values that are indexed from 0 to 9

3 Arrays  A particular value in an array is referenced using the array name followed by the index in brackets  For example, the expression scores[2] refers to the value 94 (which is the 3rd value in the array)  That expression represents a place to store a single integer which can be used wherever an integer variable can be used

Arrays For example, value in an array can be assigned a value, printed, or used in a calculation scores[2] = 89; scores[first] = scores[first] + 2; mean = (scores[0] + scores[9])/2; System.out.println (“Top = “ + scores[5]);

5 Arrays  An array stores multiple values of the same type  That type can be primitive types or object references  Therefore, we can create an array of integers, or an array of characters, or an array of String objects, etc.  In Java, the array itself is an object  Therefore the name of the array is a object reference variable, and the array itself must be instantiated

6 Declaring Arrays  The scores array could be declared as follows: int[] scores = new int[10];  Note that the type of the array does not specify its size, but each object of that type has a specific size  The type of the variable scores is int[] (an array of integers)  It is set to a new array object that can hold 10 integers  See BasicArray.java BasicArray.java

7 Declaring Arrays  Some examples of array declarations: float[] prices = new float[500]; boolean[] flags; flags = new boolean[20]; char[] codes = new char[1750];

8 Bounds Checking  Once an array is created, it has a fixed size  An index used in an array reference must specify a valid element  That is, the index value must be in bounds (0 to N-1)  The Java interpreter throws an ArrayIndexOutOfBoundsException if an array index is out of bounds  This is called automatic bounds checking

Bounds Checking  For example, if the array codes can hold 100 values, it can be indexed using only the numbers 0 to 99  If count has the value 100, then the following reference will cause an exception to be thrown: System.out.println (codes[count]);  It’s common to introduce off-by-one errors when using arrays for (int index=0; index <= 100; index++) codes[index] = index*50 + epsilon; problem

10 Bounds Checking  Each array object has a public constant called length that stores the size of the array  It is referenced using the array name (just like any other object): scores.length  Note that length holds the number of elements, not the largest index  See ReverseOrder.java ReverseOrder.java  See LetterCount.java LetterCount.java

11 Alternate Array Syntax  The brackets of the array type can be associated with the element type or with the name of the array  Therefore the following declarations are equivalent: float[] prices; float prices[];  The first format generally is more readable

12 Initializer Lists  An initializer list can be used to instantiate and initialize an array in one step  The values are delimited by braces and separated by commas  Examples: int[] units = {147, 323, 89, 933, 540, 269, 97, 114, 298, 476}; char[] letterGrades = {'A', 'B', 'C', 'D', ’E'};

13 Initializer Lists  Note that when an initializer list is used: the new operator is not used no size value is specified  The size of the array is determined by the number of items in the initializer list  An initializer list can only be used only in the declaration of an array  See Primes.javaPrimes.java

14 Arrays as Parameters  An entire array can be passed as a parameter to a method  Like any other object, the reference to the array is passed, making the formal and actual parameters aliases of each other  Changing an array element within the method changes the original  An array element can be passed to a method as well, and follows the parameter passing rules of that element's type

15 Arrays of Objects  The elements of an array can be object references  The following declaration reserves space to store 25 references to String objects String[] words = new String[25];  It does NOT create the String objects themselves  Each object stored in an array must be instantiated separately

Command-Line Arguments  The signature of the main method indicates that it takes an array of String objects as a parameter  These values come from command-line arguments that are provided when the interpreter is invoked  For example, the following invocation of the interpreter passes an array of three String objects into main: > java DoIt pennsylvania texas california  These strings are stored at indexes 0-2 of the parameter

17 Arrays of Objects  Objects can have arrays as instance variables  Therefore, many useful structures can be created simply with arrays and objects  The software designer must determine carefully an organization of data and objects that makes sense for the situation

Swapping  Swapping is the process of exchanging two values  Swapping requires three assignment statements temp = first; first = second; second = temp;

19 Two-Dimensional Arrays  A one-dimensional array stores a simple list of values  A two-dimensional array can be thought of as a table of values, with rows and columns  Because each dimension is an array of array references, the arrays within one dimension can be of different lengths Sometimes these are called ragged arrays

Two Dimensional Array  Consist of both rows and columns of elements  Sometimes called tables  Example declaration: int val[][];  Example allocation: val = new int[3][4];  Elements are identified by position in an array

Two_ Dimensional arrays  Can be initialized from within declaration statements: int val[][] = {{8,16,9,52}, {3,15,27,6}, {7,25,2,10}};  May be displayed by: Individual element notation Using loops  Usually nested loops  val.length Provides the number of rows in the array referenced by val  val[i].length Provides the number of columns in the ith row of val array

Two-Dimensional Arrays  A two-dimensional array element is referenced using two index values value = scores [3][6]  To be precise, a two-dimensional array in Java is an array of arrays

Passing Two- Dimensional Array  Identical to passing a one-dimensional array The called method receives access to the entire array  Practice:  1. Write a set of code to create a two-dimensional 10x10 array and initialize every element to be the value of i * j where i and j are the two indices (for instance, element [5][3] is 5 * 3 = 15).

24 Multidimensional Arrays  An array can have many dimensions  If it has more than one dimension, it is called a multidimensional array  Each dimension subdivides the previous one into the specified number of elements  Each array dimension has its own length constant

25 The ArrayList Class  The ArrayList class is part of the java.util package  Like an array, it can store a list of values and reference them with an index  Unlike an array, an ArrayList object grows and shrinks as needed  Items can be inserted or removed with a single method invocation  It stores references to the Object class

ArrayList Efficiency  The ArrayList class is implemented using an array.  The array expands beyond its initial capacity to accommodate additional elements  Methods manipulate the array so that indexes remain continuous as elements are added or removed