Presentation is loading. Please wait.

Presentation is loading. Please wait.

JAVA Arrays. Objectives Be able to declare and initialize arrays Be able to conceptualize (draw) how arrays are represented in computer memory. Be able.

Similar presentations


Presentation on theme: "JAVA Arrays. Objectives Be able to declare and initialize arrays Be able to conceptualize (draw) how arrays are represented in computer memory. Be able."— Presentation transcript:

1 JAVA Arrays

2 Objectives Be able to declare and initialize arrays Be able to conceptualize (draw) how arrays are represented in computer memory. Be able to process arrays (especially using for loops) Understand when to use an array

3 3 Representing Lists of Objects Frequently, applications must store lists of objects of the same type. Variables represent one object at a time so a list would require separate variables: String country1, country2, country3; int population1, population2, population3; We can represent lists of objects using arrays.

4 Array Definition Pattern 4 ElementType[] arrayName; or ElementType[] arrayName = new ElementType[length]; or ElementType[] arrayName = arrayInitializer;  ElementType is any type (including an array type);  arrayName is the handle for the array object being defined – if there is no assignment clause in the statement, the handle is set to null ;  length is an expression specifying the number of elements in the array;  arrayInitializer is a list of literals of type ElementType, enclosed in curly braces ( { } ).

5 5 double[] array1; final int SIZE = 4; int[] array2 = new int[SIZE]; String[] array3 = { "Bashful", "Doc" }; array2[0] [1] [2] [3] ? ? array1 [0] [1]array3 “Bashful” “Doc” Array Definitions

6 6 String[] anArray = new String[2]; anArray[0] = "Grumpy"; anArray[1] = "Happy"; println(anArray[1]); [0] [1]anArray “Grumpy” “Happy” Array Subscripts

7 7 String[] anArray = new String[2]; anArray[0] = "Grumpy"; anArray[1] = "Happy"; for (int i = 0; i < anArray.length; i++) { println(anArray[i]); } [0] [1]anArray “Grumpy” “Happy” Working with Arrays

8 Example: Population by Country 8 String[] countries = { "Belize", "Costa Rica", "El Salvador", "Guatemala", "Honduras", "Nicaragua", "Panama" }; int[] populations = { 294385, 4133884, 6948073, 12728111, 7483763, 5675356, 3242173 }; for (int i = 0; i < countries.length; i++) { println(countries[i] + ": " + populations[i]); }

9 9 public static int computeTotal(int[] values) { int result = 0; for (int i = 0; i < values.length; i++) { result += values[i]; } return result; } Arrays as Parameters

10 10 public static void main(String[] args) { String[] sa = {"Grumpy", "Happy"}; changeStringArray(sa); System.out.println(sa[0] + ” ” + sa[1]); } public static void changeStringArray (String[] stringArray) { sa[0] = "Dopey"; sa[1] = "Sleepy"; System.out.println(sa[0] + ” ” + sa[1]); } Reference Values as Parameters

11 11 public static void main(String[] args) { String[] sa = {"Grumpy", "Happy"}; changeStringArray(sa); System.out.println(sa[0] + ” ” + sa[1]); } public static void changeStringArray (String[] sA1) { sA1[0] = "Dopey"; sA1[1] = "Sleepy"; System.out.println(sA1[0] + ” ” + sA1[1]); } Ref. Values as Parameters (corrected)

12 12 Exercises

13 Search Linear Search: 1. Receive a non-null list of values and a target value. 2. Loop for each element in list a. If value equals list[i] then i. Return true 3. Return false.

14 Binary Search 1. Receive a non-null, sorted list of values and a target value. 2. If list is null a. Return -1. 3. Set first = 0 and last = length of the list - 1. 4. Loop while first <= last a. Set middle to the integer quotient (first + last) / 2. b. If value < list[middle] then i. Set last = middle – 1; c. else if value > list[middle] then i. Set first = middle + 1; d. else i. Return middle; 5. Return -1.

15 Multi-Dimensional Data Some data sets cannot be represented with single- dimensional arrays. Examples: Matrixes, sudoku puzzles, tictactoe games, chess, checkers, etc. Spreadsheets are generally two dimensional. Databases are generally X dimensional where X > 2. 15

16 16 Multi-Dimensional Arrays Some data collections, like the Sudoku grid can be viewed as multi-dimensional data. Declaring 2-D arrays: type[][] identifier = arrayExpression; Constructing 2-D arrays: new type[totalRows][totalColumns] Accessing 2-D array elements: identifier[someRow][someColumn] This can be generalized to more dimensions.


Download ppt "JAVA Arrays. Objectives Be able to declare and initialize arrays Be able to conceptualize (draw) how arrays are represented in computer memory. Be able."

Similar presentations


Ads by Google