Java Arrays
Normally, an array is a collection of similar type of elements which has contiguous memory location.
Java array is an object which contains elements of a similar data type. Additionally, The elements of an array are stored in a contiguous memory location. It is a data structure where we store similar elements. We can store only a fixed set of elements in a Java array.
Array in Java is index-based, the first element of the array is stored at the 0th index, 2nd element is stored on 1st index and so on.
Unlike C/C++, we can get the length of the array using the length member. In C/C++, we need to use the sizeof operator.
an array is a data structure that stores a fixed-size, ordered collection of elements of the same data type. An array can be thought of as a container that holds a group of related values, such as a list of numbers or a set of strings.
To declare an array in Java, we use the following syntax:
cssdata_type[] array_name = new data_type[array_length];
Here, data_type
is the data type of the elements in the array, array_name
is the name of the array, and array_length
is the number of elements in the array. For example, to declare an integer array named numbers
with a length of 5, we can write:
goint[] numbers = new int[5];
To access or modify the elements of an array, we use the index of the element within square brackets. Array indexes in Java start at 0, so the first element of an array is accessed using an index of 0, the second element using an index of 1, and so on. For example, to set the first element of the numbers
array to the value 10
, we can write:
cssnumbers[0] = 10;
Arrays in Java can also be initialized with values at the time of declaration, using the following syntax:
cssdata_type[] array_name = {value1, value2, value3, ...};
For example, to declare and initialize an integer array named ages
with the values 10
, 20
, 30
, and 40
, we can write:
pythonint[] ages = {10, 20, 30, 40};
Java also supports multi-dimensional arrays, which are arrays of arrays. For example, a two-dimensional array can be declared and initialized as follows:
cssint[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
In summary, an array in Java is a data structure that stores a fixed-size, ordered collection of elements of the same data type. Arrays are declared using a data type, a name, and a length, and can be initialized with values at the time of declaration. Arrays are accessed using an index, and Java also supports multi-dimensional arrays.
In Java, array is an object of a dynamically generated class. Java array inherits the Object class, and implements the Serializable as well as Cloneable interfaces. We can store primitive values or objects in an array in Java. Like C/C++, we can also create single dimentional or multidimentional arrays in Java.
Moreover, Java provides the feature of anonymous arrays which is not available in C/C++.
Advantages
- Code Optimization: It makes the code optimized, we can retrieve or sort the data efficiently.
- Random access: We can get any data located at an index position.
Disadvantages
- Size Limit: We can store only the fixed size of elements in the array. It doesn't grow its size at runtime. To solve this problem, collection framework is used in Java which grows automatically.
Types of Array in java
There are two types of array.
- Single Dimensional Array
- Multidimensional Array
Single Dimensional Array in Java
Syntax to Declare an Array in Java
Instantiation of an Array in Java
Example of Java Array
Let's see the simple example of java array, where we are going to declare, instantiate, initialize and traverse an array.
Output:
10 20 70 40 50
Declaration, Instantiation and Initialization of Java Array
We can declare, instantiate and initialize the java array together by:
Let's see the simple example to print this array.
Output:
33 3 4 5
For-each Loop for Java Array
We can also print the Java array using for-each loop. The Java for-each loop prints the array elements one by one. It holds an array element in a variable, then executes the body of the loop.
The syntax of the for-each loop is given below:
Let us see the example of print the elements of Java array using the for-each loop.
Output:
33 3 4 5
Passing Array to a Method in Java
We can pass the java array to method so that we can reuse the same logic on any array.
Let's see the simple example to get the minimum number of an array using a method.
Test it Now
Output:
3
Anonymous Array in Java
Java supports the feature of an anonymous array, so you don't need to declare the array while passing an array to the method.
Test it Now
Output:
10 22 44 66
Returning Array from the Method
We can also return an array from the method in Java.
Test it Now
Output:
10 30 50 90 60
ArrayIndexOutOfBoundsException
The Java Virtual Machine (JVM) throws an ArrayIndexOutOfBoundsException if length of the array in negative, equal to the array size or greater than the array size while traversing the array.
Test it Now
Output:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at TestArrayException.main(TestArrayException.java:5) 50 60 70 80
Multidimensional Array in Java
In such case, data is stored in row and column based index (also known as matrix form).
Syntax to Declare Multidimensional Array in Java
Example to instantiate Multidimensional Array in Java
Example to initialize Multidimensional Array in Java
Example of Multidimensional Java Array
Let's see the simple example to declare, instantiate, initialize and print the 2Dimensional array.
Test it Now
Output:
1 2 3 2 4 5 4 4 5
Jagged Array in Java
If we are creating odd number of columns in a 2D array, it is known as a jagged array. In other words, it is an array of arrays with different number of columns.
Test it No
Output:
0 1 2 3 4 5 6 7 8
What is the class name of Java array?
In Java, an array is an object. For array object, a proxy class is created whose name can be obtained by getClass().getName() method on the object.
Test it Now
Output:
I
Copying a Java Array
We can copy an array to another by the arraycopy() method of System class.
Syntax of arraycopy method
Example of Copying an Array in Java
Test it Now
Output:
caffein
Cloning an Array in Java
Since, Java array implements the Cloneable interface, we can create the clone of the Java array. If we create the clone of a single-dimensional array, it creates the deep copy of the Java array. It means, it will copy the actual value. But, if we create the clone of a multidimensional array, it creates the shallow copy of the Java array which means it copies the references.
Output:
Printing original array: 33 3 4 5 Printing clone of the array: 33 3 4 5 Are both equal? false
Addition of 2 Matrices in Java
Let's see a simple example that adds two matrices.
Test it Now
Output:
2 6 8 6 8 10
Multiplication of 2 Matrices in Java
In the case of matrix multiplication, a one-row element of the first matrix is multiplied by all the columns of the second matrix which can be understood by the image given below.
Let's see a simple example to multiply two matrices of 3 rows and 3 columns.
Test it Now
Output:
6 6 6 12 12 12 18 18 18