Arrays - Stanford University
CS106A, Stanford Fall, 2004-05
Arrays
Handout #56 Nick Parlante
Arrays are like Lists but more simple. Just about every computer language has some sort of "array" feature. Arrays have their own special syntax that uses square brackets [ ].
Each array is declared with a type that indicates the type of element that it stores. An array type is written as the type of element it holds followed by square brackets, so "int[]" is the type of array that holds ints, and "String[]" is the type of array that holds Strings.
Arrays are allocated in the heap with the "new" operator and accessed through pointers (just like objects). The following line declares a local variable "values" that can point to an int array. It does not allocate the array yet...
int[] values;
// declare an int array variable "values"
The expression "new int[100]" allocates a new array in the heap, sized to hold 100 int values.
values = new int[100]; // allocate the array, store the pointer
In the heap, the array is like a block of memory made of all the elements in a row. Each element in the array is identified by a zero-based index number ? 0, 1, 2, ... and so on. An attempt to access an index outside the 0..size-1 range will fail with a runtime exception. When first created, all of the elements in the array are set to zero. So the memory drawing for the code above looks like...
values
int[] array
012 3
96 97 98 99
0 0 0 0 ... 0 0 0 0
Arrays use square brackets as a convenient syntax to refer to individual elements: "values[2]" is the element at index 2 within the "values" array. This square bracket syntax is an easy way to get or set any particular element in the array, in contrast to the more bulky use of the get() method with Lists.
Here is a longer example that declares an array variable, allocates the array with "new", and then uses the [ ] syntax to access particular elements..
int[] values;
// declare in array variable
values = new int[100]; // allocate the array (initially all zero)
2
values[0] = 4; values[1] = 8;
// store a 4 into element 0 // store an 8 into element 1
// read ints out of values[0] and values[1], do // some math, store result into values[2] values[2] = 2*values[0] + values[1];
// store a 13 into the last element in the array values[99] = 13;
values
int[] array
012 3
96 97 98 99
4 8 16 0 ... 0 0 0 13
The size of an array is set when it is created with "new" and that size never changes for the lifetime of the array. In contrast, Lists can grow and shrink over time ? this is a big feature that Lists have that arrays do not. The size of an array can be accessed as a special ".length" attribute . For example, with the above "values" array, we can access the size of the array as "values.length". The standard 0...size-1 for-loop used to iterate over Lists elements works for arrays too, just changing the syntax to use .length to access the size, and square brackets to access the elements...
// suppose we have the values array from above...
// Loop over all the elements in an array for (int i=0; i ................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- java cheat sheet programming with mosh
- arrays stanford university
- java strings
- how to convert string array to arraylist examples
- arrays in java cornell university
- 9 2 the string class tom kleen
- handling of arrays strings and other data structures
- chapter 2 the basics of c programming
- java long array long array in java initializing
- array assignment solution
Related searches
- stanford university philosophy department
- stanford university plato
- stanford university encyclopedia of philosophy
- stanford university philosophy encyclopedia
- stanford university philosophy
- stanford university ein number
- stanford university master computer science
- stanford university graduate programs
- stanford university computer science ms
- stanford university phd programs
- stanford university phd in education
- stanford university online doctoral programs