Arrays. A problem with simple variables One variable holds one value –The value may change over time, but at any given time, a variable holds a single.

Slides:



Advertisements
Similar presentations
Chapter 8: Arrays.
Advertisements

An Array A sequence of elements of a particular type Each element in the array has an index which gives its position in the sequence An array is declared.
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.
Chapter 10 Introduction to Arrays
Arrays. Topics Tables of Data Arrays – Single Dimensional Parsing a String into Multiple Tokens Arrays - Multi-dimensional.
Arrays  Writing a program that uses a large amount of information.  Such as a list of 100 elements.  It is not practical to declare.
Arrays. A problem with simple variables One variable holds one value –The value may change over time, but at any given time, a variable holds a single.
18-Jun-15 Arrays. 2 A problem with simple variables One variable holds one value The value may change over time, but at any given time, a variable holds.
Introduction to Computers and Programming Lecture 15: Arrays Professor: Evan Korth New York University.
Numbers and Arrays. Widening and narrowing Numeric types are arranged in a continuum: double float long int short byte, char You can easily assign a narrower.
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 In many cases we need a group of nearly identical variables. Example: make one variable for the grade of each student in the class This results.
Understanding Arrays and Pointers Object-Oriented Programming Using C++ Second Edition 3.
ECE122 L11: For loops and Arrays March 8, 2007 ECE 122 Engineering Problem Solving with Java Lecture 11 For Loops and Arrays.
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.
26-Jun-15 Arrays. 2 A problem with simple variables One variable holds one value The value may change over time, but at any given time, a variable holds.
Chapter 6 C Arrays Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc. Arrays are data structures.
Object References. Objects An array is a collection of values, all of the same type An object is a collection of values, which may be of different types.
Arrays Data Structures - structured data are data organized to show the relationship among the individual elements. It usually requires a collecting mechanism.
Chapter 7 & 8- Arrays and Strings
Chapter 8 Arrays and Strings
Chapter 9 Introduction to Arrays
Arrays. A problem with simple variables One variable holds one value –The value may change over time, but at any given time, a variable holds a single.
CS0007: Introduction to Computer Programming Introduction to Arrays.
CSC 142 J 1 CSC 142 Arrays [Reading: chapter 10].
Java Unit 9: Arrays Declaring and Processing Arrays.
© 2011 Pearson Education, publishing as Addison-Wesley 1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 6 focuses.
Java. Why Java? It’s the current “hot” language It’s almost entirely object-oriented It has a vast library of predefined objects It’s platform independent.
Programming Languages -1 (Introduction to C) arrays Instructor: M.Fatih AMASYALI
Lists in Python.
C Programming Tutorial – Part I CS Introduction to Operating Systems.
CMSC 202 Arrays. Aug 6, Introduction to Arrays An array is a data structure used to process a collection of data that is all of the same type –An.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2009 Pearson Education, Inc., Upper.
What is an Array? An array is a collection of variables. Arrays have three important properties: –group of related items(for example, temperature for.
Catie Welsh March 28,  Lab 7 due Friday, April 1st, 1pm 2.
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.
Hello.java Program Output 1 public class Hello { 2 public static void main( String [] args ) 3 { 4 System.out.println( “Hello!" ); 5 } // end method main.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
1 © 2002, Cisco Systems, Inc. All rights reserved. Arrays Chapter 7.
DATA STRUCTURES LAB 1 TA: Nouf Al-harbi
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.
M180: Data Structures & Algorithms in Java Arrays in Java Arab Open University 1.
1 Building Java Programs Chapter 7: Arrays These lecture notes are copyright (C) Marty Stepp and Stuart Reges, They may not be rehosted, sold, or.
OBJECTS FOR ORGANIZING DATA -- As our programs get more sophisticated, we need assistance organizing large amounts of data. : array declaration and use.
Arrays. Related data items Collection of the same types of data. Static entity – Same size throughout program.
 2007 Pearson Education, Inc. All rights reserved C Arrays.
Copyright Curt Hill Arrays in C/C++ What? Why? How?
Lecture 3 Introduction to Computer Programming CUIT A.M. Gamundani Presentation Layout from Lecture 1 Background.
Memory Management in Java Computer Science 3 Gerb Objective: Understand references to composite types in Java.
Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved Chapter 6 Arrays.
Copyright © 2000, Department of Systems and Computer Engineering, Carleton University 1 Introduction An array is a collection of identical boxes.
Structuring Data: Arrays ANSI-C. Representing multiple homogenous data Problem: Input: Desired output:
Arrays Version 1.1. Topics Tables of Data Arrays – Single Dimensional Parsing a String into Multiple Tokens Arrays - Multi-dimensional.
Java Software Solutions Lewis and Loftus Chapter 6 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Objects for Organizing Data.
Java – An Object Oriented Language CS 307 Lecture Notes Lecture Weeks 5-6 Khalid Siddiqui.
Two Dimensional Arrays. Students will be able to: code algorithms to solve two- dimensional array problems. use 2-D arrays in programs. pass two-use 2-D.
Arrays Declaring arrays Passing arrays to functions Searching arrays with linear search Sorting arrays with insertion sort Multidimensional arrays Programming.
For Friday Read No quiz Program 6 due. Program 6 Any questions?
CHAPTER 6 ARRAYS IN C 1 st semester King Saud University College of Applied studies and Community Service Csc 1101 F. Alakeel.
Chapter 9 Introduction to Arrays Fundamentals of Java.
Introduction to programming in java Lecture 21 Arrays – Part 1.
27-Jun-16 Arrays. 2 Multiple values An array lets you associate one name with a fixed (but possibly large) number of values Arrays are like Python’s lists,
LESSON 8: INTRODUCTION TO ARRAYS. Lesson 8: Introduction To Arrays Objectives: Write programs that handle collections of similar items. Declare array.
ARRAYS (Extra slides) Arrays are objects that help us organize large amounts of information.
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 6-Dec-18.
Building Java Programs
Arrays 2-May-19.
Arrays.
String Objects & its Methods
Presentation transcript:

Arrays

A problem with simple variables One variable holds one value –The value may change over time, but at any given time, a variable holds a single value If you want to keep track of many values, you need many variables All of these variables need to have names What if you need to keep track of hundreds or thousands of values?

Multiple values An array lets you associate one name with a fixed (but possibly large) number of values All values must have the same type The values are distinguished by a numerical index between 0 and array size minus myArray

Indexing into arrays To reference a single array element, use array-name [ index ] Indexed elements can be used just like simple variables –You can access their values –You can modify their values An array index is sometimes called a subscript

Using array elements Examples: x = myArray[1]; // sets x to 43 myArray[4] = 99; // replaces 14 with 99 m = 5; y = myArray[m]; // sets y to -57 z = myArray[myArray[9]]; // sets z to myArray

Array values An array may hold any type of value All values in an array must be the same type –For example, you can have: an array of integers an array of Strings an array of Person an array of arrays of String an array of Object

Strings and arrays Strings and arrays both have special syntax Strings are objects, and can be used as objects Arrays are objects, but –Arrays are created using special syntax: new type [ size ] instead of new Person() –If an array holds elements of type T, then the array’s type is “array of T ”

Declaration versus definition Arrays are objects Creating arrays is like creating other objects: –the declaration only provides type information –the new definition actually allocates space –declaration and definition may be separate or combined Example for ordinary objects: Person p; // declaration p = new Person("John"); // definition Person p = new Person("John"); // combined

Declaring and defining arrays Example for array objects: –int myArray[ ]; // declaration This declares myArray to be an array of integers Notice that the size is not part of the type –myArray = new int[10]; // definition new int[10] creates the array the rest is an ordinary assignment statement –int myArray[ ] = new int[10]; // both

Array assignment Array assignment is object assignment Object assignment does not copy values Person p1; Person p2; p1 = new Person("John"); p2 = p1; // p1 and p2 refer to the same person Array assignment does not copy values int a1[ ]; int a2[ ]; a1 = new int[10]; a2 = a1; // a1 and a2 refer to the same array

An array’s size is not part of its type When you declare an array, you declare its type; you must not specify its size –Example: String names[ ]; When you define the array, you allocate space; you must specify its size –Example: names = new String[50]; This is true even when the two are combined –Example: String names[ ] = new String[50];

Array assignment When you assign an array value to an array variable, the types must be compatible The following is not legal: double dub[ ] = new int[10]; // illegal The following is legal: int myArray[ ] = new int[10]; –...and later in the program, myArray = new int[500]; // legal! –Legal because array size is not part of its type

Example of array use I Suppose you want to find the largest value in an array scores of 10 integers: int largestScore = 0; for (int i = 0; i < 10; i++) if (scores[i] > largestScore) largestScore = scores[i]; By the way, do you see an error in the above program? –What if all values in the array are negative?

Example of array use II To find the largest value in an array scores of 10 (possibly negative) integers: int largestScore = scores[0]; for (int i = 1; i < 10; i++) if (scores[i] > largestScore) largestScore = scores[i];

Example of array use III Suppose you want to find the largest value in an array scores and the location in which you found it: int largestScore = scores[0]; int index = 0; for (int i = 1; i < 10; i++) if (scores[i] > largestScore) { largestScore = scores[i]; index = i; }

Array names I The rules for variables apply to arrays. Rule 25: Use lowercase for the first word and capitalize only the first letter of each subsequent word that appears in a variable name. Rule 26: Use nouns to name variables. Rule 27: Pluralize the names of collection references.

Array names II Here’s what the naming rules mean: –Capitalization is just like any other variable –Array names should be plural nouns Example array names: scores phoneNumbers preferredCustomers

Length of an array Arrays are objects Every array has an instance constant, length, that tells how large the array is Example: for (int i = 0; i < scores.length; i++) System.out.println(scores[i]); Use of length is always preferred over using a constant such as 10 Strings have a length() method!

Magic numbers Use names instead of numbers in your code –Names help document the code; numbers don’t –It may be hard to tell why a particular number is used--we call it a magic number This is a pejorative term –You might change your name about the value of a “constant” (say, more than ten scores ) You can change the value of a name in one place –An array’s length is always correct!

NullPointerException Suppose you declare a Person p but you don’t define it –Until you define p, it has the special value null –null is a legal value for any kind of object –null can be assigned, tested, and printed –But if you try to use a field or method of null, such as p.name or p.birthday(), the error you get is a nullPointerException

Arrays of objects Suppose you declare and define an array of objects: –Person[ ] people = new Person[20]; There is nothing wrong with this array, but –it has 20 references to Persons in it –all of these references are initially null –you have not yet defined 20 Persons –For example, people[12].name will give you a nullPointerException

Initializing arrays I Here’s one way to initialize an array of objects Person people[] = new Person[20]; for (int i = 0; i < people.length; i++) { people[i] = new Person("John"); } This approach has a slight drawback: all the array elements are alike

Initializing arrays II There is a special syntax for giving initial values to the elements of arrays –This syntax can be used in place of new type [ size ] –It can only be used in an array declaration –The syntax is: { value, value,..., value } Examples: –int primes[ ] = {2, 3, 5, 7, 11, 13, 19}; –String languages[ ] = { "Java", "C", "C++" };

Array literals You can create an array literal with the following syntax: type [ ] { value1, value2,..., valueN } Examples: myPrintArray(new int[] {2, 3, 5, 7, 11}); int foo[ ]; foo = new int[]{42, 83};

Initializing arrays III To initialize an array of Person : Person people[ ] = { new Person("Alice"), new Person("Bob"), new Person("Carla"), new Person("Don") }; Notice that you do not say the size of the array –The computer is better at counting than you are!

Arrays of arrays The elements of an array can be arrays Once again, there is a special syntax Declaration: int table[ ] [ ]; Definition: table = new int[10][15]; Combined: int table[ ] [ ] = new int[10][15]; The first index (10) is usually called the row; the second index (15) is the column An array like this is called a two-dimensional array

Example array of arrays int table[ ][ ] = new int[3][2]; or, int table[ ][ ] = { {1, 2}, {3, 6}, {7, 8} }; For example, table[1][1] contains 6 table[2][1] contains 8, and table[1][2] is “array out of bounds” To “zero out this table”: for (int i = 0; i < 2; i++) for (int j = 0; j < 3; j++) table[i][j] = 0;

Size of 2D arrays int table[ ][ ] = new int[3][2]; The length of this array is the number of rows: table.length is 3 Each row contains an array To get the number of columns, pick a row and ask for its length: table[0].length is

The End