Transcript Arrays
Arrays
Chapter 7
"All students to receive arrays!"
reports Dr. Austin.
Declaring arrays
Passing arrays
as parameters
Inspecting arrays
scores : 85 79 92 57 68 80 . . .
0 1 2 3 4
5
98 992
Declaring and Creating Arrays
Recall that an array is a collection of
elements all of the same type
Array objects in Java must be created with
the key word new
Note the difference in the
declaration - the number
Syntax
of elements is not
int c[] = new int [12];specified in the first set of
Results:
square brackets.
12 integer locations are allocated
They are initialized to 0
(null for reference variables, false for boolean)
3
Using Arrays
View example Figure 7.2
Note
Declaration of the array
Allocation of memory with new
Initialization of array elements
Use of array attribute (length)
Printing of array contents
4
The Array Initializer
A comma separated list of expressions
The initializer list
Enclosed in braces
View the Example
Note again, how the array knows its own length
for (int count = 0 ; count < array.length ; count++)
. . .
5
Processing Elements of An Array
On Average
People Are Mean
Finding and using the arithmetic mean
Declare the array, create
Read in values, count how many
Declare a summation variable, initialize
Sum the array, calculate average
Sort the array
Print results, accessing the array
See sample program
6
Histogram Program
Use the value in the array to
Print the value
Print a string of asterisks for visualization of
size of the value
View Figure 7.6,
7
Using Array Elements as Counters
Recall program which tested random number
generator (Figure 6.8)
Used 6 different variables
Used switch statement to increment
At the time we noted the inefficiency
Consider a new version of the program
Uses array elements to total the number of
rolls of each number 1 – 6
No switch statement needed
View Figure 7.7
8
Enhanced for Statement
Enhanced for statement
New feature of J2SE 5.0
Allows iterates through elements of an array or
a collection without using a counter
Syntax
for ( parameter : arrayName )
statement
View example, Figure 7.12
9
References and Reference Parameters
17
In Java, primitive-type variables
are always passed by value
Incoming data only
Objects are not passed to methods
References to objects are passed
The reference is passed by value
With a reference to the
Object
Address of
object
object the method can
manipulate the object
directly
10
References and Reference Parameters
Passing arrays by reference
Improves performance
Saves time
Saves memory
Initialization of large array not required
Use memory already occupied by array
No new memory allocation required
View example program, Figure 7.13
11
Using Arrays
Sorting Arrays
Recall previous example
Searching Arrays
Linear search (see example)
Step through array until desired value located
Binary search
Array must be sorted
Look in middle, then above or below
Look in middle of sub-section then above or below
Etc.
12
Multidimensional Arrays
Java does not support multidimensional
arrays directly
Does allow declaration of arrays whose
elements are arrays!
int b[][];
b = new int[ 2 ][ ];
// allocate rows
b[ 0 ] = new int[ 5 ]; // allocate columns for row 0
b[ 1 ] = new int[ 3 ]; // allocate columns for row 1
13
Multidimensional Arrays
Fig. 7.16 | Two-dimensional array with three rows
and four columns.
14
Creating Two-dimensional Arrays
Can be created dynamically
3-by-4 array
int b[][];
b = new int[ 3 ][ 4 ];
Rows can have different number of columns
int b[][];
b = new int[ 2 ][ ];
// create 2 rows
b[ 0 ] = new int[ 5 ];
// create 5 columns for row 0
b[ 1 ] = new int[ 3 ];
// create 3 columns for row
View Example
Figure 7.17
15
Variable-Length Argument Lists
New feature in J2SE 5.0
Unspecified number of arguments
Use ellipsis (…) in method’s parameter list
Can occur only once in parameter list
Must be placed at the end of parameter list
Array whose elements are all of the same type
View example, Fig. 7.20
16
Using Command-Line Arguments
Pass arguments from the command line
String args[]
Appear after the class name in the java
command
java MyClass a b
Number of arguments passed in from
command line
args.length
First command-line argument
args[ 0 ]
View Example
Figure 7.21
17