Chapter 7 Notes
Chapter 7 Notes
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-2
Chapter Topics
Chapter 7 discusses the following main topics:
– The Sequential Search Algorithm
– Parallel Arrays
– Two-Dimensional Arrays
– Arrays with Three or More Dimensions
– The Selection Sort and the Binary Search
– Command-Line Arguments
– The ArrayList Class
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-3
Introduction to Arrays
• Primitive variables are designed to hold only
one value at a time.
• Arrays allow us to create a collection of like
values that are indexed.
• An array can store any type of data but only
one type of data at a time.
• An array is a list of data elements.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-4
Creating Arrays
• An array is an object so it needs an object reference.
• The next step creates the array and assigns its address to the
numbers variable.
// Create a new array that will hold 6 integers.
numbers = new int[6];
0 0 0 0 0 0
index 0 index 1 index 2 index 3 index 4 index 5
Array element values are initialized to 0.
Array indexes always start at 0.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-5
Creating Arrays
• It is possible to declare an array reference and create it
in the same statement.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-6
Creating Arrays
• The array size must be a non-negative number.
• It may be a literal value, a constant, or variable.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-7
Accessing the Elements of an Array
20 0 0 0 0 0
numbers[0] numbers[1] numbers[2] numbers[3] numbers[4] numbers[5]
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-8
Inputting and Outputting
Array Elements
• Array elements can be treated as any other variable.
• They are simply accessed by the same name and a
subscript.
• See example: ArrayDemo1.java
• Array subscripts can be accessed using variables (such
as for loop counters).
• See example: ArrayDemo2.java
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-9
Bounds Checking
• Array indexes always start at zero and continue to
(array length - 1).
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-10
Off-by-One Errors
• It is very easy to be off-by-one when accessing arrays.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-11
Array Initialization
• When relatively few items need to be initialized, an
initialization list can be used to initialize the array.
int[]days = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-12
Alternate Array Declaration
• Previously we showed arrays being declared:
int[] numbers;
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-13
Processing Array Contents
• Processing data in an array is the same as any other variable.
grossPay = hours[3] * payRate;
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-14
Processing Array Contents
• Array elements can be used in relational operations:
if(cost[20] < cost[0])
{
//statements
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-16
The Enhanced for Loop
• Simplified array processing (read only)
• Always goes through all elements
• General format:
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-17
The Enhanced for Loop
Example:
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-18
Array Size
• The length constant can be used in a loop
to provide automatic bounding.
Index subscripts start at 0 and end at one less than the
array length.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-19
Array Size
• You can let the user specify the size of an array:
int numTests;
int[] tests;
Scanner keyboard = new Scanner(System.in);
System.out.print("How many tests do you have? ");
numTests = keyboard.nextInt();
tests = new int[numTests];
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-20
Reassigning Array References
• An array reference can be assigned to another array of
the same type.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-21
Reassigning Array References
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-22
Reassigning Array References
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-23
Copying Arrays
• This is not the way to copy an array.
int[] array1 = { 2, 4, 6, 8, 10 };
int[] array2 = array1; // This does not copy array1.
2 4 6 8 10
array1 holds an
Address
address to the array
Example:
array2 holds an
SameArray.java
Address
address to the array
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-24
Copying Arrays
• You cannot copy an array by merely assigning one
reference variable to another.
• You need to copy the individual elements of one array to
another.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-25
Passing Array Elements to a Method
• When a single element of an array is passed to a
method it is handled like any other variable.
• See example: PassElements.java
• More often you will want to write methods to process
array data by passing the entire array, not just one
element at a time.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-26
Passing Arrays as Arguments
• Arrays are objects.
• Their references can be passed to methods like any
other object reference variable.
showArray(numbers); 5 10 15 20 25 30 35 40
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-28
Comparing Arrays: Example
int[] firstArray = { 2, 4, 6, 8, 10 };
int[] secondArray = { 2, 4, 6, 8, 10 };
boolean arraysEqual = true;
int i = 0;
if (arraysEqual)
System.out.println("The arrays are equal.");
else
System.out.println("The arrays are not equal.");
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-29
Useful Array Operations
• Finding the Highest Value
int [] numbers = new int[50];
int highest = numbers[0];
for (int i = 1; i < numbers.length; i++)
{
if (numbers[i] > highest)
highest = numbers[i];
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-30
Useful Array Operations
• Summing Array Elements:
int total = 0; // Initialize accumulator
for (int i = 0; i < units.length; i++)
total += units[i];
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-31
Partially Filled Arrays
• Typically, if the amount of data that an array must hold is unknown:
– size the array to the largest expected number of elements.
– use a counting variable to keep track of how much valid data is in the
array.
…
int[] array = new int[100];
int count = 0;
…
System.out.print("Enter a number or -1 to quit: ");
number = keyboard.nextInt();
while (number != -1 && count <= 99)
{
array[count] = number;
count++;
System.out.print("Enter a number or -1 to quit: ");
number = keyboard.nextInt();
} input, number and keyboard were
… previously declared and keyboard
references a Scanner object
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-32
Arrays and Files
• Saving the contents of an array to a file:
int[] numbers = {10, 20, 30, 40, 50};
PrintWriter outputFile =
new PrintWriter ("Values.txt");
outputFile.close();
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-33
Arrays and Files
• Reading the contents of a file into an array:
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-34
Returning an Array Reference
• A method can return a reference to an array.
• The return type of the method must be declared as an array of
the right type.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-36
String Arrays
• If an initialization list is not provided, the new keyword must be
used to create the array:
String[] names = new String[4];
Address
names[0] null
names[1] null
names[2] null
names[3] null
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-37
String Arrays
• When an array is created in this manner, each element of the
array must be initialized.
names[0] = "Bill";
names[1] = "Susan";
The names variable holds names[2] = "Steven";
the address to the array. names[3] = "Jean";
Address
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-38
Calling String Methods On Array
Elements
• String objects have several methods, including:
– toUpperCase
– compareTo
– equals
– charAt
• Each element of a String array is a String object.
• Methods can be used by using the array name and index as
before.
System.out.println(names[0].toUpperCase());
char letter = names[3].charAt(0);
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-39
The length Field & The length Method
• Arrays have a final field named length.
• String objects have a method named length.
• To display the length of each string held in a String array:
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-40
Arrays of Objects
• Because Strings are objects, we know that arrays can contain
objects.
BankAccount[] accounts = new BankAccount[5];
+BankAccount()
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 6-42
Arrays of Objects
• Each element needs to be initialized.
for (int i = 0; i < accounts.length; i++)
accounts[i] = new BankAccount();
• See example: ObjectArray.java
The accounts variable holds the address balance: 0.0
of an BankAccount array.
accounts[1] Address
balance: 0.0
accounts[2] Address
accounts[3] Address balance: 0.0
accounts[4] Address
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-43
public class ObjectArray
{
public static void main(String[] args)
{
final int NUM_ACCOUNTS = 3; // Number of accounts
BankAccount[] accounts = new BankAccount[NUM_ACCOUNTS];
createAccounts(accounts);
System.out.println("Here are the balances for each account:");
for (int index = 0; index < accounts.length ; index++)
{
System.out.println("Account " + (index + 1) + ": $" +
accounts[index].getBalance());
}
}
private static void createAccounts(BankAccount[] array)
{
double balance; // To hold an account balance
Scanner keyboard = new Scanner(System.in);
for (int index = 0; index < array.length; index++)
{
System.out.print("Enter the balance for account " + (index + 1) + ": ");
balance = keyboard.nextDouble();
array[index] = new BankAccount(balance);
}
}
} ©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-44
The Sequential Search Algorithm
• A search algorithm is a method of locating a specific
item in a larger collection of data.
• The sequential search algorithm uses a loop to:
– sequentially step through an array,
– compare each element with the search value, and
– stop when
• the value is found or
• the end of the array is encountered.
• See example: SearchArray.java
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-45
public class SearchArray
{
public static void main(String[] args)
{
int[] tests = { 87, 75, 98, 100, 82 };
int results = sequentialSearch(tests, 100);
System.out.println (results != -1 ? "found at pos " + results : "not found")
;
}
public static int sequentialSearch(int[] array, int value)
{
int index=0, element=-1; // Element the value is found at
boolean found = false; // Flag indicating search results
while (!found && index < array.length)
{
if (array[index] == value)
{
found = true; element = index;
}
index++;
}
return element;
}
} Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
©2016 6-46
public static int sequentialSearch(int[] array, int value)
{
int index=0, element=-1 ;
while (index < array.length && array [index] < value)
index ++ ;
if (index<array.length && array[index]== value)
element = index;
return element;
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 6-47
public static void bubbleSort (int[] array)
{
int temp ; boolean over ;
do {
over = true ;
for (int i = 1 ; i < array.length ; i ++)
if (array [i] < array [i-1])
{
over = false ;
temp = array [i] ;
array [i] = array [i-1] ;
array [i-1] = temp ;
}
} while (!over) ;
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
public static void bubbleSort (int[] array)
{
int stop = array.length ;
do {
int lastSwap = 0 ;
for (int i = 1 ; i < stop ; i ++)
if (array [i] < array [i-1])
{
lastSwap = i ;
int temp = array [i] ;
array [i] = array [i-1] ;
array [i-1] = temp ;
}
stop = lastSwap ;
} while (stop != 0) ;
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
Selection Sort
• In a selection sort:
– 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.
– See example: SelectionSortDemo.java
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-50
public class SelectionSortDemo
{
public static void main(String[] arg)
{
int[] values = {5, 7, 2, 8, 9, 1};
System.out.println("The unsorted values are:");
for (int i = 0; i < values.length; i++)
System.out.print(values[i] + " ");
System.out.println();
selectionSort(values);
System.out.println("The sorted values are:");
for (int i = 0; i < values.length; i++)
System.out.print(values[i] + " ");
System.out.println();
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
public static void selectionSort(int[] array)
{
int startScan, index, minIndex, minValue;
for (startScan = 0; startScan<(array.length-1); startScan++)
{
// Find min element of array [startScan:array.length]
// & let minIndex hold the index of that min element
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
public static void selectionSort(int[] array)
{
int startScan, index, minIndex, minValue;
for (startScan = 0; startScan<(array.length-1); startScan++)
{
// Find min element of array [startScan:array.length]
// & let minIndex hold the index of that min element
array[minIndex] = array[startScan];
array[startScan] = minValue;
}
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
public static void selectionSort(int[] array)
{
int startScan, index, minIndex, minValue;
for (startScan = 0; startScan<(array.length-1); startScan++)
{
minIndex = startScan;
minValue = array[startScan];
for(index=startScan +1 ; index < array.length; index++)
if (array[index] < minValue)
{
minValue = array[index];
minIndex = index;
}
array[minIndex] = array[startScan];
array[startScan] = minValue;
}
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
Binary Search
• A binary search:
– requires an array sorted in ascending order.
– starts with the element in the middle of the array.
– If that element is the desired value, the search is over.
– Otherwise, the value in the middle element is either greater or less
than the desired value
– If it is greater than the desired value, search in the first half of the
array.
– Otherwise, search the last half of the array.
– Repeat as needed while adjusting start and end points of the search.
• See example: BinarySearchDemo.java
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-55
public class BinarySearchDemo
{
public static void main(String[] args)
{
int numbers[] = {101, 142, 147, 189, 199, 207, 222, 234,
289, 296, 310, 319, 388, 394 } ;
int result, searchValue; String input;
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter a value to search for: ");
searchValue = keyboard.nextInt();
result = binarySearch(numbers, searchValue);
if (result == -1)
System.out.println(searchValue + " was not found.");
else
System.out.println(searchValue + " was found at
element " + result);
}
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
public static int binarySearch(int[] array, int value)
{
int first = 0, last = array.length - 1, middle, position = -1;
boolean found = false
while (!found && first <= last)
{
middle = (first + last) / 2;
if (array[middle] == value)
{
found = true;
position = middle;
}
else if (array[middle] > value)
last = middle - 1;
else
first = middle + 1;
}
return
©2016 position;
Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
Two-Dimensional Arrays
• A two-dimensional array is an array of arrays.
• It can be thought of as having rows and columns.
row 0
row 1
row 2
row 3
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-58
Two-Dimensional Arrays
• Declaring a two-dimensional array requires two sets of brackets
and two size declarators
– The first one is for the number of rows
– The second one is for the number of columns.
double[][] scores = new double[3][4];
• The two sets of brackets in the data type indicate that the scores
variable will reference a two-dimensional array.
• Notice that each size declarator is enclosed in its own set of
brackets.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-59
Accessing Two-Dimensional Array
Elements
• When processing the data in a two-dimensional array,
each element has two subscripts:
– one for its row and
– another for its column.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-60
Accessing Two-Dimensional Array
Elements
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-61
Accessing Two-Dimensional Array
Elements
Accessing one of the elements in a two-
dimensional array requires the use of both
subscripts.
The scores variable
holds the address of a scores[2][1] = 95;
2D array of doubles.
column 0 column 1 column 2 column 3
Address
row 0 0 0 0 0
row 1 0 0 0 0
row 2 0 95 0 0
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-62
Accessing Two-Dimensional Array
Elements
• Programs that process two-dimensional arrays can do
so with nested loops.
• To fill the scores array: Number of rows, not the
largest subscript
for (int row = 0; row < 3; row++)
{ Number of
columns, not the
for (int col = 0; col < 4; col++) largest subscript
{
System.out.print("Enter a score: ");
scores[row][col] = keyboard.nextDouble();
}
keyboard references a
}
Scanner object
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-63
Accessing Two-Dimensional Array
Elements
• To print out the scores array:
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-64
Initializing a Two-Dimensional Array
• Initializing a two-dimensional array requires enclosing each
row’s initialization list in its own set of braces.
• Java automatically creates the array and fills its elements with
the initialization values.
– row 0 {1, 2, 3}
– row 1 {4, 5, 6}
– row 2 {7, 8, 9}
• Declares an array with three rows and three columns.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-65
Initializing a Two-Dimensional Array
int[][] numbers = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-66
The length Field
• Two-dimensional arrays are arrays of one-dimensional
arrays.
• The length field of the array gives the number of rows
in the array.
• Each row has a length constant tells how many
columns is in that row.
• Each row can have a different number of columns.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-67
The length Field
• To access the length fields of the array:
int[][] numbers = { { 1, 2, 3, 4 },
{ 5, 6, 7 },
{ 9, 10, 11, 12 } };
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-68
Summing The Elements of a Two-
Dimensional Array
int[][] numbers = { { 1, 2, 3, 4 },
{5, 6, 7, 8},
{9, 10, 11, 12} };
int total;
total = 0;
for (int row = 0; row < numbers.length; row++)
{
for (int col = 0; col < numbers[row].length; col++)
total += numbers[row][col];
}
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-69
Summing The Rows of a Two-
Dimensional Array
int[][] numbers = {{ 1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int total;
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-70
Summing The Columns of a Two-
Dimensional Array
int[][] numbers = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int total;
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-71
Passing and Returning Two-
Dimensional Array References
• There is no difference between passing a single or
two-dimensional array as an argument to a method.
• The method must accept a two-dimensional array
as a parameter.
• See example: Pass2Darray.java
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-72
Ragged Arrays
• When the rows of a two-dimensional array are of different
lengths, the array is known as a ragged array.
• You can create a ragged array by creating a two-
dimensional array with a specific number of rows, but no
columns.
int [][] ragged = new int [4][];
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-73
More Than Two Dimensions
• Java does not limit the number of dimensions that an array may
be.
• More than three dimensions is hard to visualize, but can be
useful in some programming problems.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-74
Command-Line Arguments
• A Java program can receive arguments from the operating
system command-line.
• The main method has a header that looks like this:
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-75
Command-Line Arguments
• To run the example:
• Example: CommandLine.java
• It is not required that the name of main’s
parameter array be args.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-76
Variable-Length Argument Lists
• Special type parameter – vararg…
– Vararg parameters are actually arrays
– Examples: VarArgsDemo1.java, VarargsDemo2.java
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-77
The ArrayList Class
• Similar to an array, an ArrayList allows object storage
• Unlike an array, an ArrayList object:
– Automatically expands when a new item is added
– Automatically shrinks when items are removed
• Requires:
import java.util.ArrayList;
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-78
Creating an ArrayList
ArrayList<String> nameList = new ArrayList<String>();
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-79
Using an ArrayList
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-80
Using an ArrayList
• Example: ArrayListDemo1.java
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-81
Using an ArrayList
• The ArrayList class's toString method returns a string
representing all items in the ArrayList
System.out.println(nameList);
This statement yields :
[ James, Catherine ]
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-82
Using an ArrayList
• The ArrayList class's add method with one argument adds
new items to the end of the ArrayList
• To insert items at a location of choice, use the add method with
two arguments:
nameList.add(1, "Mary");
This statement inserts the String "Mary" at index 1
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-83
Using an ArrayList
• An ArrayList has a capacity, which is the number of items
it can hold without increasing its size.
• The default capacity of an ArrayList is 10 items.
• To designate a different capacity, use a parameterized
constructor:
ArrayList<String> list = new ArrayList<String>(100);
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-84
Using an ArrayList
• You can store any type of object in an ArrayList
ArrayList<BankAccount> accountList =
new ArrayList<BankAccount>();
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-85
Using an ArrayList
// Create an ArrayList to hold BankAccount objects.
ArrayList<BankAccount> list = new ArrayList<BankAccount>();
See: ArrayListDemo6.java
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. 7-86
Using an ArrayList