+4 votes
66 views
in Tips & Tricks by (242k points)
reopened
Java arrays - a brief tutorial

1 Answer

+5 votes
by (1.6m points)
 
Best answer

Array declaration
Creating and initializing an array
Accessing array values
A quick note on array size

In Java an array is a way of storing multiple items of the same type. In this quick tutorial we introduce you to the very basics..

image image

An array is a container object that holds a finite number of values ​​of a specific type. The number of elements in the array can store is defined upon creation and cannot be changed afterward. After creation, its length is fixed.

Array declaration

Declaring an array is very similar to declaring a variable. We need to specify a type and an identifier.

int[] numbers;

This line of code declares an array of integers with the name " numbers ". Square brackets have to be used so that the compiler knows that numbers is an array type. Names for arrays have to respect the usual Java variable naming conventions.

Creating and initializing an array

Now we need to create an array object and initialize our variable with it. Let's create an array with enough memory for 10 integers .

numbers = new int[10];


With the new operator , we create the array object and assign it to our numbers variable we created before. Instead of using two separate lines you can also use the shorthand syntax like this: If the array creation succeeded we can access each element in the array by using the square bracket syntax. Since we start counting at index zero

int[] numbers = new int[10];



numbers[0] = 42; // initialize the first element
numbers[1] = 84; // initialize the second element
/// ...
numbers[9] = 21504 // initialize the last (10th) element

, our 10th element is at index 9. Using the number 10 inside the square brackets will cause a runtime error that may be caught via exception handling. In a real-world situation you would not access each element individually. Instead, you would use a loop structure like for or while ..

Accessing array values

Of course, you not only want to store data inside an array but also read from it. In order to access individual array values ​​you can use the square bracket operator as well.

//Prints the 6th element
System.out. println ("Element at index 5: " + numbers[5]);


To print every item in the array we can use a loop that will iterate over each array.element.

for (int i = 0; i < numbers.length; i++)
{
System.out.println("Element at index " + i + ": " + numbers[i]);
}

The value numbers.length is the amount of elements that can be stored in the numbers array.

A quick note on array size

As previously mentioned, the array capacity is fixed and there is no way to change it. However, there is a neat little trick to circumvent this problem. Instead of resizing the original array (which is not possible), we create a new array with the new size and copy the old values ​​into it. The Java array class offers a simple to use function for this approach.

If we want to increase the capacity of our numbers array from 10 to 20 we can use the following code: This will create a new array with length 20 for numbers and copy the old values ​​into it. If you already know the array content at compilation time, you can also use the shorthand syntax like this:

numbers = Arrays.copyOf(numbers, 20);




int[] moreNumbers = {10, 20, 30, 40, 50, 60};

As you can see, there is no need to specify the array length when using the shorthand syntax..


...