JAVA ARRAYS
What is the output?
6
one
. How many loops are necessary to find the largest number in an array?
x = some positive number (x=0? @Nov2 ex 2 notes)
. If data = "Z", what is the value of x in the expression x = data.compareTo("B") ?
x = 10 (the last makes it find the last en)
. Suppose data is the string "BrokenBroken" What is the value of x in the expression x =data.lastIndexOf("en")?
spreadsheet + tabs = 3d simulations moderating in science/engineering. double[][][] data = new double[4][1000][100]; 4d is dealing with time.
A 3-d array is useful for? example?
varying, parameters
A Java method can be defined to accept a ___ number of ___ .
style 1: int[ ] numbers; style 2: int numbers[ ]; int numbers[ ], codes[ ], scores[ ];
Alternate Array Declaration Notation
initializer
An ____ list can be used, instead of the new operator, to instantiate an array object.
N - 1
An array of Size N is indexed from 0 to what?
parameter, alias
An entire array can be passed as a ____ , making the formal parameter an ___ of the original.
A data structure for storing a collection of data of the same type
Array
String numbers[][] = { {"Tom", "555-3322"}, {"Sam", "555-8976"}. {"Cole", "596-2142"} };
Create an appropriate array to hold the names and phone numbers of 3 people.
- Create ArrayList<String> nameList = new ArrayList<String>();
Create and Use an ArrayList Object
String data[] = {"This", "is", "great"};
Create and fill an array with the strings "This", "is", and "great"
- It is not required that the name of main's parameter array be args. You can name it anything you wish. It is a standard convention, however, for the name args to be used -
Command-line Arguments
When you invoke a Java program from the operating system command line, you can specify arguments that are passed into the main method of the program. In addition, you can write a method that takes a variable number of arguments. When the method runs, it can determine the number of arguments that were passed to it and act accordingly
Command-line arguments and variable-length argument lists
1. Using an invalid subscript. Java does not allow you to use a subscript value that is outside the range of valid subscripts for an array. 2. Confusing the contents of an integer array element with the element's subscript. An element's subscript and the value stored in the element are not the same thing. The subscript identifies an element, which holds a value. 3. Causing an off-by-one error. When processing arrays, the subscripts start at zero and end at one less than the number of elements in the array. Off-by-one errors are commonly caused when a loop uses an initial subscript of one and/or uses a maximum subscript that is equal to the number of elements in the array. 4. Using the = operator to copy an array. Assigning one array reference variable to another with the = operator merely copies the address in one variable to the other. To copy an array, you should copy the individual elements of one array to another. 5. Using the = operator to copy an array. Assigning one array reference variable to another with the = operator merely copies the address in one variable to the other. To copy an array, you should copy the individual elements of one array to another. 6. Reversing the row and column subscripts when processing a two-dimensional array. When thinking of a two-dimensional array as having rows and columns, the first subscript accesses a row and the second subscript accesses a column. If you reverse these subscripts, you will access the wrong element
Common Errors to Avoid
- To compare the contents of two arrays, you must compare the elements of the two arrays. // First determine whether the arrays are the same size. if (firstArray.length != secondArray.length) arraysEqual = false; // Next determine whether the elements contain the same data. while (arraysEqual && index < firstArray.length) { if (firstArray[index] != secondArray[index]) arraysEqual = false; index++; } if (arraysEqual) System.out.println("The arrays are equal."); else System.out.println("The arrays are not equal.");
Comparing Arrays
- reference copy: both the array1 and array2 variables will reference the same array. - Only the address of the array object is copied, not the contents of the array object.
Copying Arrays
Yes.
Does auto-boxing work inside arithmetic expressions?
An array that varies in size at run time.
Dynamic Array
It cuts the list in half and then in half over and over again, comparing if the target value is above or below the middle value.
Explain how a binary search works starts with a sorted list and cuts in half over and over while making comparisons
Goes through items and compares
Explain how a linear search works
Whenever a reference is made to a particular array element, the index operator (the brackets that enclose the subscript) ensures that the value of the index is greater than or equal to zero and less than the size of the array. If it is not within the valid range, an ArrayIndexOutOfBoundsException is thrown.
Explain the concept of array bounds checking. What happens when a Java array is indexed with an invalid value?
It compares values at two index locations and does a swap if necessary. It repeats this process over and over. You need two loops
Explain what a Bubble sort is and how does it word? How many loop do you need?
objects
How are arrays implemented?
for (int i = 0; i < ROWS; i++) for (int j = 0; j < COLUMNS; j++) board[i][j] = " ";
How to fill or search a 2D array.
a) .length b) .size() c) .length()
How to find the number of elements in: a) an Array b) an ArrayList c) a String
a) .length b) .size() c) .length()
How to find the number of elements in: a) an Array b) an ArrayList c) a String
arrayRefVar.length. For example: myList.length is 10
How to obtain the size of an array
When the rows of a two-dimensional array are of different lengths, the array is known as a ragged array - You create a ragged array by first creating a two-dimensional array with a specific number of rows, but no columns.
Ragged arrays
x =7 y = 4 z = 2
Referring to #21, if x = bus.length, y = bus[0].length, and z = bus[1].length, what are the values for x , y, and z?
The ArrayList class has a remove method that removes an item at a specific index. You pass the index as an argument to the method. nameList.remove(1);
Remove an Item from an ArrayList
An algorithm for searching an array in which each element of the array is checked one after the other.
Linear Search
String statement = new String("Hello");
List a way to construct a string
String statement = "Hello";
List an easier way to construct a string
The ArrayList class's set method can be used to replace an item at a specific index with another item nameList.set(1, "Becky");
Replacing an item
In addition to accepting arrays as arguments, methods may also return arrays. public static double[] getArray() { double[] array = { 1.2, 2.3, 4.5, 6.7, 8.9 }; return array; } values = getArray();
Returning Arrays from methods
assigns the consecutive blocks of memory to a process requesting for memory
contiguous memory allocation
Arrays.copyOf(<source array>, <length>);
copyOf syntax
Copies array elements within the array, to and from specified positions
copyWithin()
how to create a copy of an array that is not an alias?
create a new list and use a for loop
Declaring Arrays I An array of letters char[] letters; letters = new char [26]; I An array of String objects String [] dictionary = new String [480000]; I An array of Song objects Song[] playlist = new Song [3]; I An array of Card objects Card[] deckOfCards = new Card [52]; I An array of boolean objects boolean [] lightSwitches = new boolean [100];
create an array of letters: of string objects: of song objects: of card object: of boolean objects:
int size=cup.length; cup[size-1]=23;
cup is an array of doubles. It has more than 50 values, like 1, 2.5, 4.2 cc. Set the last element to 23 cc.
cup[ cup.length - 1 ]=9;
cup is an array. It has many elements like 2, 3.3, 4 cc. Set the last element to 9 cc.
size=cup.length;
cup is an array. It has many sizes, like 1, 2.5, 7.2 cc. Set size = the number of elements in cup.
cup[1]=3.5;
cup is an array. It has more than 50 sizes, like 1, 2.5 cc. Set the 2nd element to 3.5 cc.
cup[9]=13;
cup is an array. It has more than 50 sizes, like 1, 2.5, 8.2 cc. Set the 10th element to 13 cc.
cup is an array. It has many elements like 2.2, 3.3, 14.5 cc. Set the last element to 9 cc.
cup[ cup.length - 1 ]=9;
cup is an array with values like 1.0, 2.5, 4.2 cc. Set the 1st element to 23 cc.
cup[0]=23;
cup is an array with values like 1.0, 2.5, 4.2 cc. Set the 2nd element to 3.5 cc.
cup[1]=3.5;
cup is an array with values like 1.0, 2.5, 4.2 cc. Set the 10th element to 13 cc.
cup[9]=13;
To declare a reference to the array:
dataType [] arrayName;
array specific instantiation syntax
datatype [] arrayName = { value0, value1, ...};
first step of creating an array
declaring the reference to the array
If <length> is longer than the length of the source array, the extra elements are given the _____ _______.
default values
default value for numeric primitive data types is 0 \u0000 for char types and false for boolean types.
default values for arrays
A program that does the same thing every time it is invoked.
deterministic
you are no longer required to write the data type in the part of the statement that calls the ArrayList constructor. Instead, you can simply write a set of empty angled brackets ArrayList<String> list = new ArrayList<>();
diamond operator
Declare cup array. It has 50 elements like 2.0, 3.3, 4.0 cc.
double[] cup=new double[50];
Declare cup array. It has elements 2.0, 3.3, 4.12 cc.
double[] cup={2, 3.3, 4};
price.length()-1 h>0 h--
double[] price={ 1.2, 3.4, 8.3, 2.5, 0.1, 7.7}; Print array backward from the last element to the first? for (int h = ________; h>0 ; ______ ) { ....System.out.print( str[ h ]); }
arrays are more ____ than lists
efficient
One of the values in an array. The[]operator selects elements.
element
each variable on the array is an
element
The type of data that can be stored as an element in a particular array.
element type
An alternative syntax for traversing the elements (values) of an array.
enhanced for loop
Returns true if a and b have the same length and the elements of in corresponding indexes match and false otherwise.
equals method
booleanArrays.equals(a, b)
equals syntax
Checks if every element in an array pass a test
every()
boolean default value
false
Fill the elements in an array with a static value
fill()
Creates a new array with every element in an array that pass a test
filter()
y.length big
find the largest number: int big=y[0]; for(int i=0; i<_________; i++) { . . . . if(big<y[i]) . . . . { . . . . ______ = y[i]; . . . . } }
y.length big
find the largest number: int big=y[0]; for(int i=0; i<_________; i++) { ........if(big<y[i]) ........{ ............______ = y[i]; ........} }
k myArray.length
find the largest number: int huge=myArray[0]; for(int ____=0; k<_________; k++) { ........if(huge<myArray[k]) ........{ ............huge = myArray[k]; ........} }
myArray.length myArray[k]
find the largest number: int huge=myArray[0]; for(int k=0; k<_________; k++) { ........if(huge<myArray[k]) ........{ ............huge = _________; ........} }
mm+1 largest
find the largest number: int largest=g[0]; for(int mm=0; mm<g.length; mm=___) { ........if(_______<g[mm]) ........{ ............largest = g[mm]; ........} }
largest x[i]
find the largest number: int largest=x[0]; for(int i=0; i<x.length; i++) { ........if(_______<x[i]) ........{ ............largest = _______; ........} }
x.length mm++
find the largest number: int largest=x[0]; for(int mm=0; mm<_________; ______) { ........if(largest<x[mm]) ........{ ............largest = x[mm]; ........} }
1 largest
find the largest number: int largest=x[0]; for(int mm=0; mm<x.length; mm+=___) { ........if(_______<x[mm]) ........{ ............largest = x[mm]; ........} }
Returns the value of the first element in an array that pass a test
find()
Returns the index of the first element in an array that pass a test
findIndex()
you can only specifically instantiate an array when it is ___ declared
first
________ [ ] xyz = new Movie[10]
Movie
During the loop's execution, the variable index takes on the values 1 through 100, when it should take on the values 0 through 99. As a result, the first element, which is at subscript 0, is skipped. In addition, the loop attempts to use 100 as a subscript during the last iteration. Because 100 is an invalid subscript, the program will throw an exception and halt.
Off-by-One Errors
Individual array elements are processed like any other type of variable. grossPay = hours[3] * payRate; - When using increment and decrement operators, be careful not to use the operator on the subscript when you intend to use it on the array element
Processing Array Elements
the size of a python list can change, but an array has a
fixed size
Returns the string without leading or trailing whitespace
String trim()
Convert a StringBuilder into a String
String(StringBuilder builder)
Convert a char array into a String
String(char[] array)
Declare array named schoolDays. Elements are mo, tu, we, th, fr (in that order).
String[ ] schoolDays = {"mo", "tu", "we", "th", "fi"};
Declare array named wkEnd. Elements are sat and sun.
String[ ] wkEnd = {"sat", "sun"};
Declare mth array for the months of the year.
String[] mth=new String[12];
snack is an array of 50 food names. Declare this array.
String[] snack=new String[50];
Declare snack array. It has elements "gum", "chips".
String[] snack={"gum", "chips"};
Declare array week. It has 7 elements with names of the days of the week.
String[] week = new String[7];
nested loops. The outer loop controls the column subscript and the inner loop controls the row subscript. The inner loop calculates the sum of a column, which is stored in an accumulator.
Summing the columns of a two-dimensional array
int total; // Accumulator for (int row = 0; row < numbers.length; row++) { // Set the accumulator to 0. total = 0; // Sum a row. for (int col = 0; col < numbers[row].length; col++) total += numbers[row][col]; // Display the row's total. System.out.println("Total of row " + row + " is " + total); }
Summing the rows of a two-dimensional array
"part" would be a string. In this case, the variable is "ken"
Suppose data is the string "Broken" What is the value of part in the expression: part = data.substring(3,6); ? What type of variable is part?
x will be some negative number because broken is shorter than summer
Suppose data is the string "Broken" What is the value of x in the expression x = data.compareTo("Summer") ?
x will be some negative number, because there is no match
Suppose data is the string "Broken". What is the value of x in the expression x = data.compareTo("Summer"); ?
x = 4
Suppose data is the string "BrokenBroken" What is the value of x in the expression x = data.indexOf("en"); ?
x = 10
Suppose data is the string "BrokenBroken" What is the value of x in the expression x = data.lastIndexOf("en") ?
x = -1
Suppose data is the string "BrokenBroken" What is the value of x in the expression x = data.lastIndexOf("on") ?
x = 4 finds the first match
Suppose data is the string "BrokenBroken" What is the value of x in the expression x =data.indexOf("en") ?
x = -1 since it's not found
Suppose data is the string "BrokenBroken" What is the value of x in the expression x =data.lastIndexOf("on")?
z is an integer and in this case z = 10
Suppose data is the string "finish now" What does the following do, z = data.length(), and what type is the variable z?
z is an integer and in this case z = 10
Suppose data is the string "finish now". What does the following do? z = data.length(); What type is the variable z?
returns the character
Suppose data is the string "open now." What does ch = data.charAt(8) return?
"False," because all the characters must match for it to be true.
Suppose the test against the the string is "supal," what value does y have? (Refer to #45)
50
Suppose you are thinking of a number from 0 to 100, what is the first number that it's compared to if searching in binary?
(Option C) You are causing num1 to reference num2
Suppose you have two arrays: num1 and num2. What does: num1 = num2 do?
Accessing each element of an array is called ___ an array.
Traversing
fixed, length
When an array is created it has a ____ size. The size of the array is a public constant named ___.
double the size so we don't have to do the copying again.
When creating arrays, it's good practice to do what with each addition to the array.
braces
When initializing a two-dimensional array, you enclose each row's initialization list in...
java interpreter throws an ArrayIndexOutOfBondsException called bounds checking
When we try to access an element in an array out of bounds what happens? Which is called what?
Zero.
When you construct an ArrayList object, it has a size of?
binary
Which search routine is faster for sorted data?
They group together related data, organize data, and assist in the sorting and searching of data
Why are arrays convenient?
A class that wraps primitive values in an object.
Wrapper class
a) Boolean b) Integer c) Double
Wrapper classes for: a) boolean b) int c) double
a) Boolean b) Integer c) Double
Wrapper classes for: a) boolean b) int c) double
A command-line argument consists of data included on the command line when the interpreter is invoked to execute the program. Command-line arguments are another way to provide input to a program. They are accessed using the array of strings that is passed into the main method as a parameter.
What is a command-line argument?
A test suite is a set of tests for repeated testing.
What is a test suite?
An array's element type is the type of values that the array can hold. All values in a particular array have the same type, or are at least of compatible types. Thus we might have an array of integers, or an array of boolean values, or an array of Dog objects, and so on.
What is an array's element type?
A set of data of the same type referenced with a common name
What is an array?
An array is an object that stores a list of values. The entire list can be referenced by its name, and each element in the list can be referenced individually based on its position in the array.
What is an array?
a set of data of the same type referenced with a common name
What is an array?
It would be an array that has a different number of columns for each row. int bus[][] = new int[7][]; bus[0] = new int[4]; //on Mondays you can hold 4 data pts bus[1] = new int[2]; // on Tuesday, 2 data pts bus[2] = new int[4]; //Wednesday hold 4 data points //etc.
What is an irregular array and give an example of declaring one called bus for a bus schedule that just runs M, W, F for 4 times each day, on Tues, Thurs, and Sat twice, and Sun once.
An off-by-one error occurs when a program's logic exceeds the boundary of an array (or similar structure) by one. These errors include forgetting to process a boundary element, as well as attempting to process a nonexistent element. Array processing is susceptible to off-by-one errors because their indexes begin at zero and run to one less than the ssize of the array.
What is an off-by-one error? How is it related to arrays?
Called the set method. Overwrites index i with a. Nothing else is moved. Size stays the same.
What does this do? arrayListReference.set(i, a);
Called the size method. Returns the size of the array list. The last valid index is arrayListReference.size() - 1.
What does this do? arrayListReference.size();
Both arrays are now pointing to the same reference.
What does this do? double[] data = new double[10]; . . . // Fill array double[] prices = data;
SMALL SMALL BIG SMALL SMALL
What does this print? int[] x={ 3, 7, 1, 9, 4, 0, 2 }; int[] y={ 0, 7, 3, 1, 9, 4, 9 }; for( int j=1; j<=5; j++ ) { ....if( x[ j ] > y[ j ] ) ....{ ........System.out.print("BIG ") ....} ....else ....{ ........System.out.print( "SMALL " ); ....} }
SMALL BIG SMALL
What does this print? int[] x={ 3, 7, 1, 9, 4, 0, 2 }; int[] y={ 0, 7, 3, 1, 9, 4, 9 }; for( int pp= 1; pp<=5; pp=pp+2 ) { . . . . if( x[ pp ] > y[ pp ] ) . . . . { . . . . . . . . System.out.print("BIG ") . . . . } . . . . else . . . . { . . . . . . . . System.out.print( "SMALL " ); . . . . } }
The length field. It is an instance variable of the array.
What field returns the number of elements in an array?
Two-dimensional arrays form a tabular, two-dimensional arrangement. You access elements with an index pair a[i][j].
What is a 2D array?
n=0; for (int d=0; d< 2; d++) for (int c=0; c< 3; c++) for (int r=0; r<2; r++) g[r][c][d] = n; n = n + 2;
Write a piece of code to initial an array called g that's 2X3X2 to even numbers starting with zero.
10 and 16
What is at location g[1][2][0]?10 What about g[0][1][1]? int[][][] = { { {0,12,4}, {4,16,5}, {8,20,6}}, {{2,14,7}, {6,18,8}, {10,22,9}} };
Conversion between primitive types and the corresponding wrapper classes is automatic.
What is auto-boxing?
Regression testing involves repeating previously run tests to ensure that known failures of prior versions do not appear in new versions of the software.
What is regression testing?
Index
What is the term that describes the items that is used to access a value in an array?
index
What is the term that describes the items that is used to access a value in an array?
0 or a positive integer (no negatives or decimals)
What kind of number is the index value for an array?
0, or a positive integer
What kind of number is the index value for an array?
Only holds objects. Can grow and shrink as needed. Supplies methods for inserting and removing objects. More overhead.
What makes an array list different from an array?
Index out of bounds
What message do you get if you go beyond the index range of an array?
index out of bounds
What message do you get if you go beyond the index range of an array?
int temp[] = new int[3];
What single line of code can be used to declare a 1D array called temp to hold 3 items?
Irregular
What type of an array would you use to hold the hours you work each day for a part time job (assume you work diff numbers of hours each day)?
irregular
What type of an array would you use to hold the hours you work each day for a part time job (assume you work diff numbers of hours each day)?
2D [22][2] in this case the row is the student number, if you had 22 in the class
What type of an array would you use to hold the weight and height of students in the class of 2010?
An array of integers where each integer counts the number of values that fall into a certain range.
histogram
An integer used to specify a specific element in an array.
index
An integer variable or value used to indicate an element of an array.
index
specifies the position of each element in the array
index
Search the array for an element and returns its position
indexOf()
In java, arrays are objects so they contain more ____, but the data is stored in ______
information, consecutive memory
A list of values delimited by braces and separated by commas, used to initialize the values stored in an array.
initializer list
you may ____ into the middle of a python list, but not into an array
insert
second step of creating an array
instantiating the array
array type: int [] array name: scores creates new array object:new type and size: int[5];
int [] scores = new int[5]; break this array down: what is each part ?
Alphabetically compares two strings and returns value < 1 if this string comes before the argument string, 0 if they're equal, and value > if this string comes after
int compareTo(String anotherString)
Returns the hash code of a String
int hashCode()
Returns the index of the first occurrence of the specified substring
int indexOf(String s)
Returns the index of the first occurrence of the specified character
int indexOf(int ch)
Returns the index of the last occurrence of the specified substring
int lastIndexOf(String s)
Returns the index of the last occurrence of the specified character
int lastIndexOf(int ch)
Returns the length of the String
int length()
3 4
int myArray[] = {3, 4, 5, 6}; for(int qq=0; qq<myArray.length; qq++) { ....if(myArray[qq]>4) ....{ ........break; ....} ....System.out.print(myArray[qq] + " "); }
9
int myArray[] = {9, 3, 7, 2, 1, 8}; for(int qq=0; qq<myArray.length; qq++) { ....if(myArray[qq]<5) ....{ ........break; ....} ....System.out.print(myArray[qq] + " "); }
9 7 8
int myArray[] = {9, 3, 7, 2, 1, 8}; for(int qq=0; qq<myArray.length; qq++) { ....if(myArray[qq]<5) ....{ ........continue; ....} ....System.out.print(myArray[qq] + " "); }
int g[][][] = new int[3][2][4]
What type of array would you use to hold all of your final exam grades (assume just 1st and 2nd semester) for all of your high school years. Write a piece of code to declare it.
5, because of the amount of characters
What would x = d.length give for the value of x? (Look at #14)
an array of arrays (like rows & columns); example: int[][] table = new int[3][5]; //note. table.length is rows table[i].length is the [i]'th row in the table.
a 2d array is what?
public static Color[] workWithArrays(Color[] myColor) { Color [] newColors = new Color[myColor.length]; for (int i = 0; i < myColor.length; i++ { Color old = myColor[i]; //deep copy newColors[i] = new Color(old.getRed(), old.getGreen(), old.getBlue()); } return newColors; }
a method for copying color values with an array: deep copy.
to instantiate an array
arrayName = new dataType[ size ];
how to access an element of an array
arrayName[exp]
how to set indexes in an array to values?
arrayName[exp] = value;
Returns true if the String contains the specified String
boolean contains(String s)
Returns true if String ends with the specified String
boolean endsWith(String suffix)
Returns true if String equals another object. Use this to see if two strings are equal.
boolean equals(Object anObject)
Returns true if length of string is 0
boolean isEmpty()
Tests if this string starts with the specified prefix
boolean startsWith(String prefix)
The process that ensures that an index is in the valid range for teh array being referenced. Java performs automatic bounds checking.
bounds checking
size=box.length;
box is an array. It has many sizes, like 1, 2.5, 7.2 cc. Set size = the number of elements in box.
Returns the char at the specified index
char charAt(int index)
Converts this string to a character array
char[] toCharArray()
9 3 7 2
int myArray[] = {9, 3, 7, 2, 1, 8}; for(int qq=0; qq<myArray.length; qq++) { ....if(myArray[qq]==1) ....{ ........break; ....} ....System.out.print(myArray[qq] + " "); }
money[2]=3;
int[] money={34, 21, 5, 9, 12, 43, 2, 17, 8}; Replace 5 with 3
money[3]=3;
int[] money={34, 21, 5, 9, 12, 43, 2, 17, 8}; Replace 9 with 3
Declare x array to hold elements 10, 20, 30, 40.
int[] x = {10, 20, 30,40 };
10 13 4 2
int[] x={ 3, 1, 4, 1, 5, 9, 2 }; for(int j=2; j<=5; j++) { ....System.out.print( x[ j ] + x[ j +1] + " " ); }
4 1
int[] x={ 3, 1, 4, 1, 5, 9, 2 }; for(int j=2; j<=5; j++) { ....if( j == 4 ) ....{ ........break; ....} ....System.out.print( " " + x[ j ] ); }
4 1 9
int[] x={ 3, 1, 4, 1, 5, 9, 2 }; for(int j=2; j<=5; j++) { ....if( j == 4 ) ....{ ........continue; ....} ....System.out.print( " " + x[ j ] ); }
3 -6 1 0
int[] x={ 3, 1, 4, 1, 5, 9, 2 }; int[] y={ 0, 7, 3, 1, 9, 4, 9 }; for(int j=2; j<4; j++) { ....System.out.print( x[ j ] - y[ j ] + " "); }
1 0 -4 5
int[] x={ 3, 1, 4, 1, 5, 9, 2 }; int[] y={ 0, 7, 3, 1, 9, 4, 9 }; for(int j=2; j<=5; j++) { ....System.out.print( x[ j ] - y[ j ] + " "); }
-6 1 0 -4 5
int[] x={ 3, 1, 4, 1, 5, 9, 2 }; int[] z={ 0, 7, 3, 1, 9, 4, 9 }; for(int j=1; j<=5; j++) { ....System.out.print( x[ j ] - z[ j ] + " " ); }
13 10 4
int[] x={ 3, 7, 1, 9, 4, 0, 2 }; int[] y={ 0, 7, 3, 1, 9, 4, 9 }; for(int k=4; k>=2; k--) { . . . . System.out.print( x[ k ] + y[ k ] + " " ); }
1 j<=5 j=j+2
int[] x={ 3, 7, 1, 9, 4, 0, 2 }; int[] y={ 0, 7, 3, 1, 9, 4, 9 }; for(int mm= _____; ______; _______) { . . . . System.out.print( x[ mm ] + y[ mm ] + " " ); } //This is tricky. Fill in the blank so that //it prints 14 10 4
4 10 13
int[] x={ 3, 7, 1, 9, 4, 0, 2 }; int[] y={ 0, 7, 3, 1, 9, 4, 9 }; for(int rr=2; rr<=5; rr++) { ....System.out.print( x[ rr ] + y[ rr ] + " "); }
Checks whether an object is an array
isArray()
Search the array for an element, starting at the end, and returns its position
lastIndexOf()
each array has a read-only integer instance variable named ____ which holds the number of elements in an array
length
first check for if arrays are the same
length
int[] money={34, 21, 5, 9, 12, 43, 2, 17, 8}; Replace 5 with 3
money[2]=3;
amount = movie.length;
movie is an array. It has many items. Set amount = the number of items in movie.
An array with more than one index dimension.
multidimensional array
assigns the separate memory blocks at the different location in memory space in a nonconsecutive manner to a process requesting for memory.
noncontiguous memory allocation
A program that always behaves differently, even when run multiple times with the same input.
nondeterministic
when specifically instantiating an array, what goes inside of the []?
nothing
any object reference default value
null
char default value
null character
Arrays are the most efficient way to store a collection of a known _____ of items
number
Removes the last element of an array, and returns that element
pop()
the equals method works for arrays of _____ types
primitive
the data type in an array can be any of java's ______ or _____
primitive types, classes
use a for loop: for (int index = scores.length() -1; index >= 0; index--; { System.out.println(scores[index]); }
printing an array backwards:
A sequence of numbers that appear to be random, but which are actually the product of a deterministic computation.
pseudorandom
Adds new elements to the end of an array, and returns the new length
push()
A traversal pattern that combines the elements of an array into a single value.
reduce
Reduce the values of an array to a single value (going left-to-right)
reduce()
Reduce the values of an array to a single value (going right-to-left)
reduceRight()
A value (memory address) that indicates another value, like an array. In a state diagram, a reference appears as an arrow.
reference
A value that indicates another value, like an array. In a state diagram, a reference appears as an arrow.
reference
The copyOf method is often used to ______ an array
resize
Reverses the order of the elements in an array
reverse()
Removes the first element of an array, and returns that element
shift()
cup is an array with values like 1.0, 2.5, 4.2 cc. Set size = the number of elements in cup.
size=cup.length;
Selects a part of an array, and returns the new array
slice()
String[] snack=new String[50];
snack is an array of 50 food names. Declare this array.
snack[ snack.length-1 ] ="water";
snack is an array. Set the last item to "water".
snack[10]="gum";
snack is an array. It has more than 50 items, like "fruits", "candy", "chips". Set the 11th item to "gum".
snack[0]="water";
snack is an array. It has more than 50 items, like "fruits", "candy", "chips". Set the 1st element to "water".
snack[1]="water";
snack is an array. It has more than 50 items, like "fruits", "candy", "chips". Set the 2nd item to "water".
howMany=snack.length;
snack is an array. It has more than 50 items. Set howMany = the number of items in snack.
snack is an array. Set the last item to "water".
snack[ snack.length-1 ] ="water";
snack is an array with elements like "fruits", "candy", "chips". Set the 1st element to "water".
snack[0]="water";
snack is an array. It has more than 50 items, like "fruits", "candy", "chips". Set the 11th item to "gum".
snack[10]="gum";
snack is an array. It has more than 50 items, like "fruits", "candy", "chips". Set the 2nd item to "water".
snack[1]="water";
Checks if any of the elements in an array pass a test
some()
the given array using the QuickSort algorithm.
sort method
Sorts the elements of an array
sort()
arrays can also be instantiated by _____ a list of initial values
specifying
Adds/Removes elements from an array
splice()
Returns the String representation of the int (or any other primitive type) argument
static String valueOf(int i)
Sorts an array of Objects according to their natural ordering
static void sort(Object[] arr)
Sorts an int (or any primitive type) array into ascending order. Doesn't return anything
static void sort(int[] arr)
student[1]="Gary";
student is an array. It has more than 50 items, like "Mark", "Abe", "Jane". Set the 2nd item to "Gary".
student[3]="Gary";
student is an array. It has more than 50 items, like "Mark", "Abe", "Jane". Set the 4th item to "Gary".
put Tiger in arraylist called studentName
studentName.add( "Tiger" )
- It is possible to create arrays with multiple dimensions, to model data that occurs in multiple sets double[][][] seats = new double[3][5][8];
three or more dimensions arrays
how do arrays allow random access of elements?
through an index
Converts an array to a string, and returns the result
toString()
Looping through the elements of an array (or other collection).
traversal
An array with two indexed dimensions; it can be thought of as a table with rows and columns.
two-dimensional array
Adds new elements to the beginning of an array, and returns the new length
unshift()
how to access the last element of an array?
use length - 1
when you want to do a calculation. When you want to change the values of the array use a for loop.
use the for each loop in an array/arraylist when you want to do what?
Returns the primitive value of an array
valueOf()
The ellipsis (three periods) that follows the data type indicates that numbers is a special type of parameter public static int sum(int... numbers)
vararg parameter
A parameter list in a method header that allows a variable number of parameters to be passed in, which are stored in an array for processing.
variable-length parameter list
0
when an array is initialized, each list element has an initial value of ?
Given array named xyz. Assign 9 to the last element in xyz .
xyz[ xyz.length -1] = 9;
Because of the size of the elements. Make sure they are all of the same type.
you cannot have arrays with various primitive types or values because why?
String middleName = "Jane"; String [] myNames = { "Mary", middleName, "Watson" }; how many element will the above array have?
3
many implementations of arrays use a
block of contiguous memory
sort works for primitive types except
boolean
Classes for implementing collections.
Collections framework
Yes. import java.util.ArrayList
Do you have to import the ArrayList class to use it?
24
How many data points can array that's 2 x 3 x 4 hold?
24 (2x3x4=24)
How many data points can array that's 2x3x4 hold?
One
How many different variable types can the same array hold?
Converts String to all lowercase
String toLowerCase()
Converts String to all uppercase
String toUpperCase()
1
How many loops are necessary to find the largest number in an array?
Array named days has days of the week. The elements are "mon", "tue", "wed", ... "sun". What is days[3]?
"thu"
byte, short, int default values
0
double default value
0.0d
float default value
0.0f
long default value
0L
array is normally used with an accompanying integer variable that holds the number of items stored in the array. - If a partially filled array is passed as an argument to a method, the variable that holds the count of items in the array must also be passed as an argument. Otherwise, the method will not be able to determine the number of items that are stored in the array
A partially filled
nameList.add("James"); nameList.add("Catherine"); nameList.add("Bill");
Add an item to an ArrayList
- Like regular variables, Java allows you to initialize an array's elements when you create the array. int[ ] days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; - This statement declares the reference variable days, creates an array in memory, and stores initial values in the array. The series of values inside the braces and separated with commas is called an initialization list. - Note that you do not use the NEW key word when you use an initialization list - Java allows you to spread the initialization list across multiple lines.
Array Initialization
- Each array in Java has a public field named length. size = temperatures.length; for (int i = 0; i < temperatures.length; i++) System.out.println(temperatures[i]); - You cannot change the value of an array's length field.
Array Length
when the program runs
Array bounds checking happens...
A short hand notation to create and initialize an array Example: elementType[] arrayRefVar= [value0, value1,....]; Real life example: double[] myList = [1.9, 2.9, 3.4, 3.5];
Array initializer
The new operator is not used in the array initializer syntax. With array initializers you cannot split the code otherwise it will cause an error.
Array initializer Info
"sat"
Array named days has days of the week. The elements are "mon", "tue", "wed", ... "sun". What is days[5]?
Arrays can be used in the same way as a regular variable. myList[2] = myList[0] + myList[1]; This will assign myList[2] the values of myList[0] and myList[1].
Array variables
for(int i = 0; i < myList.length; i++) { myList[i] = 1; }
Array variables for loop
An exception thrown when an invalid array index is used.
Array-Index-Out-Of-Bounds-Exception
If you need to resize an array often, you are better of using an ______ object.
ArrayList
_______ <Students> pupil
ArrayList
The ArrayList class has a toString method that returns a string representing all of the items stored in an ArrayList objec
ArrayList Class's toString method
ArrayList is a class in the Java API that is similar to an array and allows you to store objects. Unlike an array, an ArrayList object's size is automatically adjusted to accommodate the number of items being stored in it - • An ArrayList object automatically expands as items are added to it. - • In addition to adding items to an ArrayList, you can remove items as well. - • An ArrayList object automatically shrinks as items are removed from it. *The ArrayList class is in the java.util package, so the following import statement is required: import java.util.ArrayList;
ArrayList class
Generic class.
ArrayList is a ___ class
Generic class.
ArrayList is a ___ class.
Array is an ordered list of values. Each array has a name by which it can be referenced. Difference between array and arraylist in java include eight points namely Resizable, Performance, Traversal ,Primitives , Length , Type-Safety, Adding elements , Multi-dimensional. 1. Resizable : Array is static in size that is fixed length data structure, One can not change the length after creating the Array object.
ArrayList vs Array: What are differences?
A type parameter. You cannot use primitive types as type parameters in an ArrayList.
ArrayList<BankAccount> What is BankAccount?
A structure that can store many of the same kind of data together at once.
Arrays
- You may create arrays of objects that are instances of classes that you have written. - Objects in an array are accessed with subscripts, just like any other data type in an array.
Arrays of Objects
The process in which a primitive is automatically extracted from a wrapper class object.
Auto-unboxing
The process in which a primitive is automatically converted to a wrapper class object.
Autoboxing
- Its only requirement is that the values in the array must be sorted in ascending order. - Instead of testing the array's first element, this algorithm starts with the element in the middle.
Binary search
- Java performs array bounds checking, which means that it does not allow a statement to use a subscript that is outside the range of valid subscripts for an array. - Bounds checking occurs at runtime. The Java compiler does not display an error message when it processes a statement that uses an invalid subscript. Instead, when the statement executes, the program throws an exception and immediately terminates.
Bounds Checking
A group of related elements that are stores together as a single unit.
Collection
- Because each element of a String array is a String object, you can use an element to call a String method - Because the array's length member is a field, you do not write a set of parentheses after its name. You do write the parentheses after the name of the String class's length method. for (int i = 0; i < names.length; i++) System.out.println(names[i].length());
Calling String methods from an array element
Yes String one = "A"; char one = 'A';
Can a string have just one character? Show an example and show the same answer but with a different variable type.
Yes
Can an array hold strings?
An entire array can be passed as a parameter. Specifically, because an array is an object, a reference to the array is passed to the method. Any changes made to the array elements will be reflected outside of the method.
Can an entire array be passed as a parameter? how is this accomplished?
No, you cannot mix types
Can the same array hold both the name of a student and their grades?
which is the number of items it can store without having to increase its size. - When an ArrayList object is first created, using the no-arg constructor, it has an initial capacity of 10 items. -You can specify a different starting capacity, if you desire, by passing an int argument to the ArrayList constructor. ArrayList<String> list = new ArrayList<String>(100);
Capacity
________ [ ] xyz = new Cars[10]
Cars
1) Define and use arrays for basic data organization. 2) Discuss bounds checking and techniques for managing capacity. 3) Discuss the issues related to arrays as objects and arrays of objects. 4) Explore the use of command-line arguments 5) Describe the syntax and use of variable-length parameter lists. 6) Discuss the creation and use of multidimensional arrays.
Chapter Objectives:
public class Bank { public int count(double atLeast) { int matches = 0; for (BankAccount a : accounts) { if (a.getBalance() >= atLeast) matches++; // Found a match } return matches; } . . . private ArrayList<BankAccount> accounts; }
Counting matches algorithm.
String empty = "";
Create a string that has no characters
String str = "Helllo";
Create a string with the characters, "Hello"
String[] months=new String[12];
Declare an array for the months of the year.
String week[] = {"mon", "tue", "wed", "thu", "fri", "sat", "sun"};
Declare array named week. Elements are mon tue wed thu fri sat sun (in that order).
String phoneNum[] = {"949-234-5678", "714-626-1234"};
Declare array phoneNum. It has 2 elements: 949-234-5678 and 714-626-1234
String[] week = new String[7];
Declare array week. It has 7 elements.
double[] cup=new double[50];
Declare cup array. It has 50 elements like 2, 3.3, 4 cc.
double[] cup={2, 3.3, 4};
Declare cup array. It has elements 2, 3.3, 4 cc.
String[] snack={"gum", "chips"};
Declare snack array. It has elements "gum", "chips".
int x[] = {1.2, 2.4, 3.6, 4.8 };
Declare x array to hold elements are 1.2, 2.4, 3.6, 4.8.
Arrays are objects. Therefore, as with all objects, to create an array we first create a reference to the array (its name). We then instantiate the array itself, which reserves memory space to store the array elements. The only difference between a regular object instantiation and an array instantiation is the bracket syntax.
Describe the process of creating an array. When is memory allocated for the array?
value, element, index
Each ___ (or ____) in an array has a numeric ___.
subscript
Each element of an array is accessed by a number known as a(n)...
This is one of the data items in an array.
Element
int sample[ ]; sample = new int[10]
Even though will typically use one step to declare an array, the creation of an array is a two step process, what are the two steps?
int sample[]; sample = new int[10]
Even though will typically use one step to declare an array, the creation of an array is a two step process, what are the two steps?
int[][][] = { { {0,12,4}, {4,16,5}, {8,20,6}}, {{2,14,7}, {6,18,8}, {10,22,9}} };
Example of hard coding numbers into an array (2x3x2)
starts with a sorted list and cuts in half over and over while making comparisons
Explain how a binary search works
1. use a loop to examine each value 2. compare each value to the min/max so far 3. make the first element the smallest/largest 4. change smallest.largest as necessary
Finding Maximum/Minimum Values
public class Bank { public BankAccount find(int accountNumber) { for (BankAccount a : accounts) { if (a.getAccountNumber() == accountNumber) // Found a match return a; } return null; // No match in the entire array list } . . . }
Finding a value algorithm.
BankAccount largestYet = accounts.get(0); for (int i = 1; i < accounts.size(); i++) { BankAccount a = accounts.get(i); if (a.getBalance() > largestYet.getBalance()) largestYet = a; } return largestYet;
Finding max or min algorithm.
The code to find the highest value in the array is as follows: int highest = numbers[0]; for (int index = 1; index < numbers.length; index++) { if (numbers[index] > highest) highest = numbers[index]; }
Finding the highest value
The following code finds the lowest value in the array int lowest = numbers[0]; for (int index = 1; index < numbers.length; index++) { if (numbers[index] < lowest) lowest = numbers[index]; }
Finding the lowest value
Used for communicating to the compiler the type of data stores in an ArrayList.
Generics
Storing height, weight, and blood pressure
Give an example of a need to use a 3-d array
grades, bus schedule, race times, wind data
Give some examples where you might use arrays
A multidimensional array is implemented in Java as an array of array objects. The arrays that are elements of the outer array could also contain arrays as elements. This nesting process could continue for as many levels as needed.
How are multidimensional arrays implemented in Java?
A Java method can be defined to accept a variable number of parameters by using an ellipsis (...) in the formal parameter list. When several values are passed to the method, they are automatically converted to an array. This allows the method to be written in terms of array processing without forcing the calling method to create the array.
How can Java methods have variable-length parameter lists?
String are immutable, so their contents can't be altered
How can the contents of a string variable be altered?
int d[] = {2,5,7,1,10};
How can you declare and initialize a one-d array called d with the values {2, 5, 7, 1, 10} using one line of code?
y = sentence.indexOf(".") OR ch = sentence.charAt(".");
How can you search for a period in a sentence?
the decimal value is between 65 and 90 inclusive
How can you tell if a character is capitalized?
char sample[] = new char[10]
How do you declare a one-dimensional array to hold ten characters?
arrayListReference.size() - 1
How do you get the last valid index of an ArrayList?
arrayListReference.size() - 1.
How do you get the last valid index of an ArrayList?
It sequentially checks all the values until a match is found.
How does a linear search work?
An array of objects is really an array of object references. The array itself must be instantiated, and the objects that are stored in the array must be created separately.
How is an array of objects created?
Each element in an array can be referenced by its numeric position, called an index, in the array. In Java, all array indexes begin at zero. Square brackets are used to specify the index. For example, nums[5] refers to the sixth element in the array called nums.
How is each element of an array referenced?
4
If an array has 5 elements, what is the index value for the last item in the array?
x = some positive number
If data = "Z", what is the value of x in the expression x = data.compareTo("B") ?
Yes
If you have two arrays, one called apple, and one orange, does this work: apple = orange;
object
In Java, an array is an ___ that must be instantiated.
No. You must use the get method. arrayListReference.get(i)
Is arrayListReference[i] valid to get an element?
size declarator
In an array declaration, this indicates the number of elements that the array will have.
Each array starts with 0 being this as the first item, 1 being this as the second item, and so on.
Index Value
When initializing a two-dimensional array, you enclose each row's initialization list in its own set of braces. int[][] numbers = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Initializing a two-dimensional array
- You can read values from the keyboard and store them in an array element just as you can a regular variable. - You can also output the contents of an array element with print and println.
Input and Output array contents
The ArrayList class has an overloaded version of the add method that allows you to add an item at a specific index. nameList.add(1, "Mary");
Inserting an item
references, instantiated
Instantiating an array of objects reserves room to store ____ only. The objects that are stored in each element must be ____ separately.
x.length-1 m>=4
Look at this code. int[] x={ 3, 7, 1, 9, 4, 0, 2 }; int[] y={ 0, 7, 3, 1, 9, 4, 9 }; for(int m=_________; ________; m--) { ........System.out.print(x[ m ] + " and "); ........System.out.println( y[ m ]); } Fill the blank so that it prints 2 and 9 0 and 4 4 and 9
- To pass an array, you pass the value in the variable that references the array. showArray(numbers);
Passing Arrays as Arguments to Methods
When a two-dimensional array is passed to a method, the parameter must be declared as a reference to a two-dimensional array private static void showArray(int[][] array)
Passing two-dimensional arrays to methods
- A sorting algorithm is a technique for scanning through an array and rearranging its contents in some specific order. - The selection sort works like this: The smallest value in the array is located and moved to element 0. Then the next smallest value is located and moved to element 1. This process continues until all of the elements have been placed in their proper order
Selection sort
A sorting algorithm is used to arrange data into some order. A search algorithm is a method of locating a specific item in a larger collection of data. The selection sort and the binary search are popular sorting and searching algorithms.
Selection sort and binary search
A search algorithm is a method of locating a specific item in a larger collection of data. This section discusses the sequential search algorithm, which is a simple technique for searching the contents of an array - The reason -1 is returned when the search value is not found in the array is because -1 is not a valid subscript.
Sequential Search Algorithm
ArrayList <_________> firstName
String
- An array of String objects may be created, but if the array is uninitialized, each String in the array must be created individually. String[] names = { "Bill", "Susan", "Steven", "Jean" }; - In order to use a String object, you must have a reference to the String object.
String Arrays
Declare array of ID numbers. with elements: m94, k34, s72
String ID[] = {"m94", "k34", "s72"};
Concatenates the argument string to the end of this string and returns the new string
String concat(String s)
Replaces all occurrences of oldChar in this String with newChar
String replace(char oldChar, char newChar)
S o d a
String str="Soda"; for (int h = 0; h < str.length(); h++) { ....System.out.print( str[ h ] + " "); }
Returns a substring from beginIndex to endIndex - 1. endIndex can be left blank
String substring(int beginIndex, int endIndex)
ArrayList<type> reference = new ArrayList<type>();
Syntax for constructing an ArrayList?
for (Type variable : collection) statement Example: for (double e : data) sum = sum + e;
Syntax of a for-each loop.
True
T/F - A two-dimensional array has multiple length fields.
True
T/F - An ArrayList automatically expands in size to accommodate the items stored in it.
False
T/F - An array's size declarator can be a negative integer expression.
True
T/F - Both of the following declarations are legal and equivalent: int[] numbers; int numbers[];
True
T/F - Java does not allow a statement to use a subscript that is outside the range of valid subscripts for an array.
True
T/F - The Java compiler does not display an error message when it processes a statement that uses an invalid subscript.
False
T/F - The first size declarator in the declaration of a two-dimensional array represents the number of columns. The second size declarator represents the number of rows.
True
T/F - The subscript of the last element in a single-dimensional array is one less than the total number of elements in the array.
True
T/F - The values in an initialization list are stored in the array in the order that they appear in the list.
True
T/F - When an array is passed to a method, the method has access to the original array.
This operator allocates space for the number of elements indicated in brackets.
The "NEW" operator
- simplifies array processing. for (dataType elementVariable : array) statement; - The enhanced for loop is designed to iterate once for every element in an array
The Enhanced for Loop
0
The first subscript in an array is always...
1 less than the number of elements
The last subscript in an array is always...
A two-dimensional array, however, has multiple length fields. It has a length field that holds the number of rows, and then each row has a length field that holds the number of columns
The length field in a two-dimensional array
length
This array field holds the number of elements that the array has.
N/2
This is the typical number of comparisons performed by the sequential search on an array of N elements (assuming the search values are consistently found).
binary search
This search algorithm repeatedly divides the portion of an array being searched in half.
sequential search
This search algorithm steps through an array, comparing each item with the search value.
remove
To delete an item from an ArrayList object, you use this method.
size
To determine the number of items stored in an ArrayList object, you use this method.
add
To insert an item at a specific location in an ArrayList object, you use this method.
- A two-dimensional array is an array of arrays. It can be thought of as having rows and columns - 2D arrays, can hold multiple sets of data - To declare a two-dimensional array, two sets of brackets and two size declarators are required: The first one is for the number of rows and the second one is for the number of columns double[][] scores = new double[3][4]; - To access one of the elements in a two-dimensional array, you must use both subscripts scores[2][1] = 95;
Two-Dimensional Arrays
The part of an ArrayList statement that informs the compiler of what type of objects the ArrayList can contain. For example, <String>.
Type Parameter
The sixteen-bit digital code used to represent every letter and symbol.
Unicode
two, rare
Using an array with more than ___ dimensions is ____ in an object-oriented system.
variable-length argument lists, which makes it possible to write a method that takes a variable number of arguments
Variable-Length Argument Lists
Called the remove method. Removes the element at position i, moves all elements after the removed element down by one position, and reduces the size of the array list by 1.
What does this do? arrayListReference.remove(i);
1. collecting stats 2. representing the state of a game
array uses
easily manipulated, sorted easily, tallied easily, searched easily
What are some advantages of using arrays to hold data?
Objects
What are strings in Java?
Linear, and Binary
What are the two ways to search a data set?
An array initializer list is used in the declaration of an array to set up the initial values of its elements. An initializer list instantiates the array object, so the new operator is not needed.
What does an array initializer list accomplish?
The enhanced for loop traverses all elements of a collection. You can't assign values with a for each loop.
What does an enhanced for loop (for each) do?
returns the o
What does ch = data.charAt(0) return?
It returns true if there is a match. The variable "y" is boolean
What does the following do, y = test.equals("sup"), and what type of variable is y?
Called the add method. Adds object a at index i and moves all elements by one position, from the current element at position i to the last element in the array list. After each call to the add method, the size of the array list increases by 1.
What does this do? arrayListReference.add(i, a);
Called the add method. Adds an object to the end of the array list and increases the size.
What does this do? arrayListReference.add(object);
// Open the file. PrintWriter outputFile = new PrintWriter("Values.txt"); // Write the array elements to the file. for (int index = 0; index < numbers.length; index++) outputFile.println(numbers[index]); // Close the file. outputFile.close();
Write the contents of each element of the numbers array to a file
xyz[76] =-1;
You have an array of 77 whole numbers named xyz. Assign -1 to the last element in xyz .
*CHALLENGE* What is the output? Use underscore ( _ ) to mimic space.
____6.33
bounds checking
_____ ____ ensures that an index used to refer to an array element is in range.
Command-line, String objects, main
______ -___ arguments are stored in an array of ___ ___ and are passed to the __ method.
the range of valid indexes is 0 to scores.length -1;
accessing an array, we must use valid index. The valid index of an array named scores is what?
A variable used to accumulate results during a traversal.
accumulator
A variable that refers to the same object as another variable.
alias
An array without name is known as ______ ______ in java. As the array do not have any name so it can be used only once. _______ _____ is passed as an argument of method. _____ _____ is created and initialized in the same line.
anonymous arrays
double[] dailyMiles; dailyMiles = new double {170.3, 278.9, 283.2, 158.0, 433.3};
anonymous arrays syntax
the instantiation of an array creates an ______ __ ______ that holds the elements of the array
area of memory
A collection of values, where all the values have the same type, and each value is identified by an index.
array
A programming language construct used to organized objects into an indexed list.
array
a data structure that stores a sequence of values of the same type
array
A value stored in an array.
array element
what error will you get is you try to access an element less than zero?
array index out of bounds exception -1
candy[ candy.length-1 ] ="fruit roll";
candy is an array. Set the last item to "fruit roll".
the variable in a for each loop must be the type of the elements in the ________
collection
A java program receives its ______ _______ arguments in an array.
command line
Data provided on the command line when program is executed. Java stores these in the String array passed into the main method.
command-line argument
second check for if arrays are the same
compare each element
Joins two or more arrays, and returns a copy of the joined arrays
concat()
you may ______ a python list, but not an array
concatenate
A flag variable, in its simplest form, is a variable you define to have one value until some condition is true, in which case you change the variable's value. It is a variable you can use to control the flow of a function or statement, allowing you to check for certain conditions while your function progresses.
flag variable
what two things do you need to compare two arrays?
flag variable and a for loop
Since the elements are indexed starting at 0 and going to arrayName.length - 1, we can print all the elements of an array using a ___ loop:
for
1 2 4 8 16
for (int d = 1; d <= 20; d = d * 2) what are the values of d?
-2 -1 0 1
for (int i = -2; i < 2; i++) what are the values of i?
5 4 3
for (int k = 5; k > 0; k--) { ....if( k<3 ) ....{ ........break; ....} ....System.out.print(k + " "); }
5 4 3 2 1 0
for (int k = 5; k >= 0; k--) what are the values of k?
0 2 4 6 8
for (int m = 0; m <= 9; m = m + 2) what are the values of m?
4 5 6 7 8 9
for (int m = 0; m <= 9; m++) { . . . . if( m<4 ) . . . . { . . . . . . . .continue; . . . . } . . . .System.out.print(m + " "); }
infinite loop
for (int p = 0; p != 9; p = p + 2) what are the values of p?
for (variable : collection) {statement}
for each loop syntax
Calls a function for each array element
forEach()
declare array of to friends called xyz
friends[ ] xyz = new friends[10]
the index of an array must evaluate to an int that is ___ __ ___ __ ___ to work
greater than or equal to 0
snack is an array. It has more than 50 items. Set howMany = the number of items in snack.
howMany=snack.length;
what holds all the java array methods
java.util.Arrays
Joins all elements of an array into a string
join()
Creates a new array with the result of calling a function for each array element
map()
The String compareTo method returns a ____ number if words[i] < largest, _ if they are equal (having the same value), and a_____ number if words[i] > largest
negative, 0, positive
ArrayList<String> areaItems = ________
new ArrayList<String>()
does quick sort create a new array?
no
when specifically instantiating an array, is the new keyword used?
no
If <length> is shorter than the length of the source array, _____ the first elements of that array are copied.
only
arrays are
objects
An error in which an array index does not process the correct range of values, usually resulting in one less element being processed or an attempt being made to process one more element.
off-by-one error
arrays are one of the ____ and ____ __ _data structure in cs
oldest, most basic
declaration and instantiation can be done in ___ step
one
An array with one indexed dimension; a simple list of values.
one-dimensional array
a python list can have elements of many types but an array must have the
same type
A traversal pattern used to find a particular element of an array.
search
ssh
see slide 9 for a basic array example and slide 10 for a diagram showing what happens.
What would you change to find the smallest instead of the largest?
the inequality
what counts the number of elements inside the brackets and uses that as the size of the array?
the java compiler
the area of memory, created by the instantiation of the array, has one name
the name of the array
int[] z
this finds the smallest integer in array z public int smallestInt(_______ _________) { ....int small; ........ ........ ........ ....return small; }
int[] primes = new int[] { 2, 3, 5, 7, 11 };
Initialize an integer array named primes with five values.
it's easily manipulated, sorted easily, tallied easily, searched easily
List two advantages of storing data with arrays
String str = new String("Hello"); String str = "Helllo";
List two ways to construct a string.
Linear and Binary
List two ways to search a data set
After an array variable is declared, you can create an array by using the new operator and assign its reference to the variable with the following syntax. //Syntax is below arrayRefVar = new elementType[arraySize]; The statement does two things. 1- It creates an array using new elementType[arraySize]; 2-It assigns the reference of the newly created array to the variable arrayRefVar.
Referencing an array
//Preferred syntax double[] myList; //This syntax is allowed but not preferred. //This syntax comes from the programming language C/C++ double myList[];
The proper syntax to declare an array in Java
Two different arrays that should be combined into one array containing objects.
What are parallel arrays?
objects
What are strings in Java? objects, arrays, or characters?
index
What describes the position of an element within an array?
Use the System.arraycopy method to copy elements from one array to another.
What does System.arraycopy do?
An array variable stores a reference to the array. Copying the variable yields a second reference to the same array.
What does an array variable do?
Returns the o
What does ch = data.charAt(0) in the string "open now." return?
return true if match, the variable y is boolean
What does the following do, y = test.equals("sup"), and what type of variable is y?
Removes an element at position i.
What does this do? System.arraycopy(data, i + 1, data, i, data.length - i - 1);
Adds a new element at position i into data, first moves all elements from i onward one position up. Then inserts the new value. Last element is lost.
What does this do? System.arraycopy(data, i, data, i + 1, data.length - i - 1); data[i] = x;
Once an array is created it's size is fixed. An array reference variable is used to access the elements in an array using index.
Array Info.
arrayRefVar[index] = value; For example: myList[0] = 5.6; myList[1] = 4.5; ......... myList[9] = 98.13
Assign values to array elements
String one = "A"; char one = 'A';
Can a string have just one character? Show an example
yes
Can an array hold strings?
No mixing
Can the same array hold both the name of a student and their grades?
String numbers[][] = { {"Tom", "555-3322"}, {"Sam", "555-8976"}. {"Cole", "596-2142"} };
Create an appropriate array to hold the names and phone numbers of 3 people.
String data[] = {"This", "is", "great"};
Create and fill an array with the strings "This", "is" "great"
When you declare an array in Java the array variable does not allocate any space in memory for the array. It only creates a storage location for the reference to the array. If a variable does not contain a reference to the array the variable is null. You can not assign elements to an array unless it has already been declared.
Creating Arrays
Declaring an array variable, creating an array, and assigning the reference of the array to the variable can be combined in one statement as shown below .//This syntax is preferred elementType [] arrayRefVar = new elementType[arraySize]; Here is an example: double [] myList = new double[10]; The statement declares an array variable myList, creates an array of 10 elements of double type, and assigns its reference to myList.
Declaring an array variable
An array is a sequence of values of the same type. They can hold both primitives and objects.
Definition of an array
compares values at two index locations and does a swap if necessary, it repeats this over and over, need two loops
Explain what a Bubble sort is and how does it word? How many loop do you need?
An integer value used to specify the position of an element in an array. The array index is an int value starting with the value 0 for the first element. 1 for the second, and so on.
Index
What is the output?
1 2 3 4 5
What is the output?
16
What is the output?
3.0 4.5 1.0 2.5 5.0 3.0 2.0 3.0
What is the output?
4.5 5.0
What is the output?
42.0
What is the output?
5
recording height, weight, blood pressure
Give an example of a need to use a 3-d array.
Grades, bus schedule, race times, wind data
Give three examples where you might use arrays
Methods
How are arrays implemented?
string are immutable, contents can't be altered
How can the contents of a string variable be altered?
int d[ ] = {2,5,7,1,10};
How can you declare and initialize a one-d array called d with the values {2, 5, 7, 1, 10} using one line of code?
y = sentence.indexOf("."), ch = sentence.charAt(".");
How can you search for a period in a sentence?
the decimal value is between 65 and 90 inclusive (I think this is referring to the ascii chart)
How can you tell if a character is capitalized?
arrayReference[length - 1]
How do you access the last index of an array?
Use the clone method to copy the elements of an array. Has a return type of Object.
How do you copy the elements of an array?
char sample[ ] = new char [10];
How do you declare a one-dimensional array to hold ten characters?
2
How many loops are necessary in the Bubble sort routine?
for (int i = 0; i < ROWS; i++) for (int j = 0; j < COLUMNS; j++) board[i][j] = " ";
How to fill or search a 2D array.
double[] newData = new double[2 * data.length]; System.arraycopy(data, 0, newData, 0, data.length); data = newData;
How to grow an array that has run out of space.
4 (it starts at 0)
If an array has 5 elements, what is the index value for the last item in the array?
x =7, y = 4, z = 2
If x = bus.length, and y = bus[0].length, z = bus[1].length, what are the values for x , y, and z?
Yes
If you have two arrays, one called apple, and one orange, does this work: apple = orange:;
part would be a string and in this case ken
Suppose data is the string "Broken" What is the value of part in the expression part =data.substring(3,6)? What type of variable is part?
Returns the character
Suppose data is the string "open now." What does ch = data.charAt(8) return?
false all the characters must match
Suppose the test is the string supal, what value does y have?
50
Suppose you are thinking of a number in a binary sort from 0 to 100, what is the first number that it's compared to?
all values at the various positions of num1 match num2, you are causing num1 to reference num2
Suppose you have two arrays num1 and num2. What does num1 = num2 do?
arrayReference[index] Ex. data[2]
Syntax for array element access
final int ROWS = 3; final int COLUMNS = 3; String[][] board = new String [ROWS][COLUMNS];
Syntax for creating an array with 3 rows and 3 columns.
typeName[] arrayReference = new typeName[length] Ex. double[] data = new double[10];
Syntax for initializing an array
System.arraycopy(from, fromStart, to, toStart, count);
Syntax of System.arraycopy method.
double[] prices = (double[]) data.clone();
Syntax of copying an array.
an array that has a diff num of columns for each row int bus[][] = new int[7][]; bus[0] = new int[4]; //on Mondays you can hold 4 data pts bus[1] = new int[2]; // on Tuesday, 2 data pts bus[2] = new int[4]; and so on
What is an irregular array and give an example of declaring one called bus for a bus schedule that just runs M, W, F for 4 times each day, on Tues, Thurs, and Sat twice, and Sun once.
int temp = new int[3];
What single line of code can be used to declare a one D array called temp to hold 3 items?
two dimension [22][2] in this case the row is the student number, if you had 22 in the class
What type of an array would you use to hold the weight and height of students in the class of 2010?
int g[][][] = new int[3][2][4]; this is a 3 dimensional array
What type of array would you use to hold all of your final exam grades (assume just 1st and 2nd semester) for all of your high school years. Write a piece of code to declare it.
5
What would x = d.length give for the value of x? d[ ] = {2,5,7,1,10};
Binary
Which way can be used if the data is organized?
Linear
Which way can be used if the data is unorganized?
they group together related data, they organize data, they assist in the sorting and searching of data
Why are arrays convenient?
int min = 10000; for (int i=0; i< 10; i++) if (sample[i] < min) min = sample[i];
Write a method to find the minimum value in a one dimensional array.
for (int d=0; d< 2; d++) for (int c=0; c< 3; c++) for (int r=0; r<2; r++) g[r][c][d] = n; n = n + 2;
Write a piece of code to initial an array called g that's 2x3x2 to even numbers starting with zero. n=0;
for (int i=0; i<5; i++) sample[i] = 10;
Write a piece of code to initialize the five elements of a one-d array to the int value of 10.