A Wide Array of Possibilities - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

A Wide Array of Possibilities

Description:

Reverse directories of phone numbers. CS102. Sorting in Computers ... Look up the number in a reverse directory. CS102. Arrays of Arrays. Arrays in multiple ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 26
Provided by: kurtdfens
Category:

less

Transcript and Presenter's Notes

Title: A Wide Array of Possibilities


1
A Wide Array of Possibilities
Javas Central Casting
  • CS 102

2
Whats an Array
  • An array is a group of values of the same type
    (usually stored in consecutive memory locations)
  • Arrays are objects
  • Can be assigned to variables of type Object
  • Dynamically created

3
An Array of Examples
  • From Figure 5.3
  • int n // declare an array of integers
  • // initialize instance variables
  • public void init()
  • n new int 10 //dynamic allocation

4
The Declaration of Array
  • Array declarations
  • int ai // array of int
  • short as // array of array of short
  • Object ao, // array of Object
  • otherAo // array of Object

5
Declaring Arrays
  • Cant specify the length in a declaration
  • int test new int 100 // Okay
  • int test2 100 // No good
  • int test3 100new int 100 // No good

6
Some Array Definitions
  • These create array objects
  • Exception ae new Exception3
  • Object aao new Exception23
  • int factorial 1, 1, 2, 6, 24
  • String aas "array", "of", "String"

7
An Array Example
int face int frequency // initialize
instance variables public void init()
frequency new int 7 for (int roll1
roll (Math.random() 6 ) frequency face

8
An Array of Observations
  • Arrays know their own length
  • test.length 100
  • What kind of loops do we usually use with arrays?
  • Arrays start at index 0
  • Last index ??
  • Arrays must be indexed by int values (short,
    byte, or char are okay, but long is no good)

9
Operating on an Array
  • Square brackets are an operator
  • Brackets have very high precedence
  • Same as ()s
  • Example
  • -17studentGrades12 2

10
"Can he do that?"
  • Whats wrong with the following code?
  • int scores 98, 76, 84, 97, 101, 78
  • int counter0
  • for ( counter
  • System.out.println("Test " counter
  • " " scorescounter)

11
Array Initializers
  • Use s to set initial values
  • int grades 87, 92, 76, 94

12
Finally, a Constant Variable
  • Whats wrong with the following code?
  • // Figure 5.6
  • // This Applet wont compile
  • import java.applet.Applet
  • public class FinalTest extends Applet
  • final int x

13
Pass the Salt, and an Array of int
  • From last time primitive types and reference
    types
  • Parameter passing offering data to a method in
    the method call
  • public void paint(Graphics graphObject)
  • When you call paint, give it a Graphics object
  • How does Java pass data around?

14
Call Me Ishmael, But Don't Call Me Late for Dinner
  • Call-by-value
  • The called method gets a copy of the actual data
    (i.e., its value)
  • Called method can't corrupt the original data,
    because it's only got a copy
  • Call-by-reference
  • The called method gets a reference to the data

15
Arrays Call-by-Reference
  • Reference types are always passed
    call-by-reference
  • Pro Dont need to copy lots of data
  • Con Since you can access the original object,
    you can change it
  • Arrays are a reference type
  • Whole arrays are passed call-by-reference

16
What About Array Elements?
  • If an array is an array of a reference type, then
    individual elements are passed as
    call-by-____________
  • Graphics graphicsArray new Graphics10
  • If an array is an array of a reference type, then
    individual elements are passed as
    call-by-____________
  • int scores new int10

17
Searching Sorting Data
  • The Second Law of Thermodynamics
  • Sorting restores order to the world
  • Sorting in everyday life
  • Bank checks by account
  • Searching is easier when sorted
  • Reverse directories of phone numbers

18
Sorting in Computers
  • Usually start with an array of items to be sorted
  • Integers
  • Social Security numbers
  • Last names and first names
  • Lots of data
  • All the SSNs in the U.S.
  • All of GMs employees

19
Different Ways to Sort
  • Bubble sort
  • Compare two neighbors, swap if out of order
  • 1 2 5 4 7 8 6
  • 1 2 4 5 7 8 6
  • 1 2 4 5 7 6 8
  • 1 2 4 5 6 7 8

20
The Code for Bubble Sort
  • public void sort()
  • int hold // temporary holding area for swap
  • // passes
  • for ( int pass 1 pass
  • // one pass
  • for ( int i 0 i
  • // one comparison
  • if ( a i a i 1 )
  • // one swap
  • hold ai a i a i 1
    a i 1 hold

Nested for loops
21
Theres More Than One Way to Sort a Cat
  • Other sorts
  • Quicksort
  • Heapsort
  • Bucket sort
  • Different sorts have different characteristics
  • Memory usage
  • Speed

22
Searching Here, There Everywhere
  • Need to find a value? Search for it!
  • Linear search
  • Is it the next one?
  • No, then look again
  • Yes, stick a fork in me, cuz Im done
  • Works on unsorted items
  • Binary search
  • Cut in half every time

23
Youre a Detective in a Small Town
  • The killer called the victim
  • Get the LUDs
  • Look up the number in a reverse directory

24
Arrays of Arrays
  • Arrays in multiple dimensions
  • Not just a list
  • A table (an array of arrays)
  • A cube (an array of arrays of arrays)

25
An Example
  • An array of arrays
  • int b 1,2, 3, 4, 5
  • Row 0 1 2
  • Row 1 3 4 5
  • A 3x3 array
  • int b
  • b new int33
Write a Comment
User Comments (0)
About PowerShow.com