Java Notes
Arrays - More
Anonymous arrays
Anonymous arrays allow you to create a new array of values anywhere in the program, not just in the initialization part of a declaration.
// This anonymous array style can also be used in other statements. String[] days = new String[] {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"};You can also use anonymous array syntax in other parts of the program. For example,
// Outside a declaration you can make this assignment. x = new String[] {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"};
Inefficiency. Be careful not to create these anonymous arrays in a loop or as
local variables because each use of new
will create another array.
Dynamic allocation
Because arrays are allocated dynamically, the initialization
values may arbitrary expressions. For example, this call
creates two new arrays to pass as parameters to drawPolygon
.
g.drawPolygon(new int[] {n, n+45, 188}, new int[] {y/2, y*2, y}, 3);
Converting between arrays and Collections data structures
[TO DO]
C-style array declarations
Java also allows you to write the square brackets after the variable name, instead of after the type. This is how array declarations are written in C, but is not a good style for Java. C declaration syntax can get very ugly with part of the declaration before the variable, and part after. Java has a much nicer style where all type information can be written together. There are times when only the Java notation is possible to use.
int[] a; // Java style -- good int a[]; // C style -- legal, but not Java style
Additional topics
- Exchanging two elements.
- .clone()
- Jakarta ArrayUtils class: http://jakarta.apache.org/commons/lang/api/index.html
- The array passed to main.
- Class of arrays?