×

Array Programs in Java

Array Programs in Java: An array is a data structure that stores similar elements in a contiguous memory location. In Java, an array is an object that stores the same kind of elements. Arrays in Java are index-based, i.e., the first element is stored in the 0th index, the second element is stored in the 1st index, and the last element of the array is stored in the (n – 1)th index, where n is the size of the array. Java provides the attribute length to find the size of the array. The array programs in Java tells how to use array in Java programs. Note that Java arrays are the objects of a dynamically generated class. In Java, arrays implement Cloneable and Serializable interfaces. Java arrays also inherit the class Object. Arrays are not the primitive data type; however, they can be used to store primitive data types.

Creating an Array in Java

The following program demonstrates how to create an array and display its elements on the console.

FileName: ArrayCreation.java

 public class ArrayCreation
{
    public static void main(String args[])
    {
        int arr[]; // array declaration
        arr = new int[5]; // allocating memory for 5 elements
        // Assigning different integral values to the elements of the array
        arr[0] = 1; // arr[0] means accessing the first element of the array
        arr[1] = 2; // arr[1] means accessing the second element of the array and so on.
        arr[2] = -3;
        arr[3] = 4;
        arr[4] = 5;
        int size = arr.length; // calculating size of the array
        System.out.println("Elements of the array are: ");
        // displaying array elements on the console
        for(int i = 0; i < size; i++)
        {
            System.out.println( arr[i] );
        }
    }
} 

Output:

 Elements of the array are:
1
2
-3
4
5 

Explanation:

The statement :

int arr[];

means we are declaring an integer array whose name is arr. The square brackets ([]) indicate that we are dealing with the array. For character array, replace the keyword int with char. In a similar way, we can declare any type of array.

The statement

arr = new int[5];

allocates the memory for 5 integers in the heap memory. The reference of that allocated memory is stored in arr. Note that while allocating the memory, all the elements are also initialized to 0, i.e.,

arr[0] = arr[1] = arr[2] = arr[3] = arr[4] = 0;

This is because 0 is the default value of an integer in Java.

After that, the following are five statements override the default values present in the elements of the array.

 arr[0] = 1;
arr[1] = 2;
arr[2] = -3;
arr[3] = 4;
arr[4] = 5; 

During the memory allocation, JVM also assigns size of the array to the attribute length, which is 5 in our case. We have accessed the length attribute using the array object. The attribute length is of type int.

int size = arr.lengh;

arr.length contains the value 5, as we have allocated memory for 5 elements, which is assigned to the variable size.

The Java for-loop is used to iterate over each element of the array so that we can print it on the console.

Another Approach for Creating Arrays

We see that in 3 steps, we are doing declaration, allocation of memory and assigning values. These 3 steps can be squeezed into one statement.

Consider the following program.

FileName: ArrayCreation1.java

 public class ArrayCreation1
{
    public static void main(String args[])
    {
        // array declaration cum memory allocation cum initialization     
        int arr[] = {1, 2, -3, 4, 5};
        int size = arr.length; // calculating size of the array
        System.out.println("Elements of the array are: ");
        // displaying array elements on the console
        for(int i = 0; i < size; i++)
        {
            System.out.println( arr[i] );
        }
    }
} 

Output:

 Elements of the array are:
1
2
-3
4
5 

Explanation:

The statement

int arr[] = {1, 2, -3, 4, 5};

first makes the declaration of the integer array whose name or reference variable is arr. We see that we have not used the new keyword. Hence, JVM implicitly allocates the memory for 5 integer elements of the array and initializes with the values 1, 2, -3, 4, and 5. The rest of the code is the same as the previous one.

Note that we have only created a one-dimensional array in the above two programs. However, we can also create a two or more than two-dimensional array in Java.

Creating Multi-Dimensional Array

Instead of using a pair square brackets ([]), we have to use two pairs of square brackets ([][])  to create a two-dimensional array in Java. A two-dimensional array is an array of array, i.e., each element of the one-dimensional array is also an array. Observe the following program.

FileName: TwoDArrayCreation.java

 public class TwoDArrayCreation
{
public static void main(String args[])
{
    int arr[][]; // 2 - D array declaration
    // Creating 2 - D array by allocating memory
    arr = new int[2][3];
    // calculating number of rows of the 2 - D array
    int row = arr.length;
    // calculating number of columns of the 2 - D array
    int col = arr[0].length;
    // for assigning values to the elements of the array
    int val = 9;
    // iterating over each element of the 2 - D array
    for(int i = 0; i < row; i++)
    {
        for(int j = 0; j < col; j++)
        {
            // assigning values
            arr[i][j] = val;
            // incrementing val by 1
            val = val + 1;
        }
    }
    System.out.println("Elements of the 2-dimensinal array are:");
    // Displaying values contained in each element of the 2 - D array
    for(int i = 0; i < row; i++)
    {
        for(int j = 0; j < col; j++)
        {
            System.out.print(arr[i][j] + " ");
        }
        System.out.println();
    }
}
} 

Output:

 Elements of the 2-dimensional array are:
9 10 11
12 13 14 

Explanation:

The statement

int arr[][];

is declaring a 2-dimensional array, using arr as the reference variable. Notice, we have used a pair of two square brackets ([][]). The general syntax for the declaration of a 2-dimensional array in Java is

dataType referenceVar[][];

OR

dataType [][]referenceVar;

OR

dataType[][] referenceVar;

OR

dataType []referenceVar[];

The statement

arr = new int[2][3];

allocates the memory for the 2 rows and 3 columns and assigns its reference to the variable arr. Thus, there are 3 * 2 = 6 elements in the 2-dimensional array. Each element has the value 0. We override the value of each element using the following nested for-loop.

     for(int i = 0; i < row; i++)
    {
        for(int j = 0; j < col; j++)
        {
            arr[i][j] = val;
            val = val + 1;
        }
    } 

In the end, we are displaying the elements of the array.

Like a 2-dimensional array, we can also 3-dimensional array. To create 3-dimensional array, 3 pairs of square brackets ([][][]) are used, for 4-dimensional array 4 pairs of square brackets ([][][][]) are used and so on.

Creating Jagged Array

The 2-dimensional array created above has an equal number of elements in each row. In the above example, we have created two rows. Each row has 3 elements. When the number of elements in the rows varies, a jagged array is created. In other words, an array of arrays that has different column numbers is known as a jagged array. Consider the following program.

FileName: JaggedArrayCreation.java

 public class JaggedArrayCreation
{
public static void main(String args[])
{
    int arr[][]; // 2 - D array declaration
    // Creating 2 - D array by allocating memory for 3 rows
    arr = new int[3][];
    // allocating memory for different rows
    arr[0] = new int[3]; // first row contains 3 elements
    arr[1] = new int[2]; // second row contains 2 elements
    arr[2] = new int[4]; // third row contains 4 elements
    // calculating number of rows of the 2 - D array
    int row = arr.length;
    // for assigning values to the elements of the array
    int val = 9;
    // iterating over each elements of the jagged array
    for(int i = 0; i < row; i++)
    {
        // calculating size of each row
        int size = arr[i].length;
        for(int j = 0; j < size; j++)
        {
            // assigning values
            arr[i][j] = val;
            // incrementing val by 1
            val = val + 1;
        }
    }
    System.out.println("Elements of the jagged array are:");
    // Displaying values contained in each element of the jagged array
    for(int i = 0; i < row; i++)
    {
        // calculating size of each row
        int size = arr[i].length;
        for(int j = 0; j < size; j++)
        {
            // displaying elements of each row   
            System.out.print(arr[i][j] + " ");
        }
        System.out.println();
    }
}
} 

Output:

 Elements of the jagged array are:
9 10 11
12 13
14 15 16 17 

Explanation: In the code, nested for-loop is used for assigning values to the elements of the jagged array. As every row contains the different number of elements in a jagged array, we have to find the size of each row of the jagged array. The statement

int size = arr[i].length;

does the same thing. Then, we are iterating over every element of the row to either update its value or to display it on the console.

Anonymous Array

Arrays in the above examples are those arrays that have references. However, we can also create an array that has no reference, i.e., an anonymous array. The following program shows how to create an anonymous array.

FileName: AnonymousArray.java

 public class AnonymousArray
{
// Method for printing an array elements
public static void printArray(int arr[])
{
    // calculating size of the anonymous array
    int size = arr.length;
     System.out.println("Elements of the anonymous array are: " );
    // displaying elements of the anonymous array
    for(int i = 0; i < size; i++)
    {
        System.out.print(arr[i] + " ");
    }
}
// main method
public static void main(String argvs[])
{
    // calling the method printArray
    // passing an anonymous array in its argument
    printArray(new int[]{134, 67, 73, 58, 80, 88});
}
} 

Output:

 Elements of the anonymous array are:
134 67 73 58 80 88 

Explanation: In the main method, we are creating an anonymous integer array and passing it as an argument of the static method printArray(). The parameter int arr[] is holding the reference of the anonymous array. This shows that arrays are passed as a reference in a method in Java. With the help of reference, we are printing the elements of the anonymous array.

Printing the Class Name of an Array

In the introductory part of the topic, we have already discussed that Java arrays are the objects of the dynamically generated class. Let’s see how we can print the class name of a Java array.

FileName: ClassName.java

 public class ClassName
{
public static void main(String argvs[])
{
    // declaring and allocating memory for the array
    int arr[] = new int[3];
    // initializing array
    arr[0] = 4; arr[1] = 5; arr[2] = 6;
    // calling the method getClass()
    Class c = arr.getClass();
    // getting the class name
    String name = c.getName();
    // displaying the name of the class
    System.out.print("The class name is: " + name);
}
} 

Output:

The class name is: [I

Explanation: We have invoked the method getClass() on the array arr. This method renders the Class type objects. The class type object represents the run time class/ dynamically generated class. The syntax of the method getClass() is

public final Class getClass()

Thus, c stores the reference of the Class type objects. On c the getName() method is called to get the class name. In the end we are printing the class name on the console.


Related Topics

Class memory in Java

Anything specifically defined in the Java code is stored either inside the heap or the stack, which is particularly significant. Stack and heap are the two kinds of memory available...

6 minutes read.

Java Math log10() Method

The log10() method of Math class returns the base 10 logarithmic value for the specified double argument. Syntax: public static double log10(double a) Parameters: The parameter ‘a’ represents a double value. Return Value: The log10() method...

2 minutes read.

Read JSON file in Java

 To know about reading a JSON file in Java first we must know about the JSON file. JSON: JSON is “JavaScript Object Notation”. The JSON is the simple format for storing and...

3 minutes read.

Maximizing Profit in Stock Buy Sell in Java

In this tutorial, we will deal with a popular problem, a favourite of interviewers. The problem is named as Maximising profit in stock Buy Sell. we will see certain approaches...

6 minutes read.

How to Convert Timestamp to Date in Java

How to Convert Timestamp to Date in Java You can convert Timestamp to Date by using the constructor of Date class. It returns the long millisecond from Epoch (1st January 1970)...

2 minutes read.

Why to use Enum in Java?

In this article, you will be acknowledged about the Enum in java, its uses and mainly its purpose. Enum has various functionalities. Each of them will be discussed. Enum In a computer...

3 minutes read.

Java Characters

Normally, when we work with characters, we use primitive data types char. When we have to work with the objects of char, we use Character class. Character class has many important...

2 minutes read.

Java String vs StringBuffer

Java String vs StringBuffer In this section, we will discuss the key differences between String and StringBuffer class. Before moving to the ahead in this section, let’s introduce with both classes. String...

4 minutes read.

Reverse a String in Java

Reversing a string means that if we have a string called “what is your name”, the reversed format is “eman ruoy si tahw”. Reversing a string involves totally flipping the...

3 minutes read.

Fork Join in Java

Multithreaded processors are being introduced in new computer systems today. The operation is faster due to multicore CPUs. Therefore, it becomes essential for a programmer to leverage multithreaded processors effectively...

4 minutes read.

Split the Number String into Primes in Java

Given is a string that only contains digits and serves to represent a number. Our goal is to split the string of numbers in a way that ensures each segment...

2 minutes read.

Collection Interfaces in Java with Examples

In this tutorial, we will discuss collection interfaces in Java with Examples. Introduction The Collection Interface is an individual from the Java Collections Framework. It is a root point of interaction of...

4 minutes read.

Check the presence of Substring in a String in java

In java, the string can be treated as class and datatype. The string contains words and numbers but should be in double-quotes. Example: ” Omsairam” Substring The part of the string is called...

2 minutes read.

Java Buffered Writer

BufferWriter Class: It is used to write the data more efficiently. This class is present in the java.io package, it inherits the data from the Writer class. Writer class is...

4 minutes read.

Java FileOutputStream

What is FileOutputStream?When we need raw stream data written into a file, we need to look for another option: FileOutputStream. It is used when the file's data is byte-oriented. It comes under...

4 minutes read.

Interface in Java

  Interface in Java In Java, the interface is just like a class that has only static constants and abstract methods. It is used to achieve polymorphism so that it can also...

6 minutes read.

How to override toString() method in Java?

Java is an object-oriented language. It only works with classes and objects. Thus, whenever we need to calculate, we need an object or objects that belong to the class. The Java method...

2 minutes read.

How to Iterate List in Java?

List is a Collection foundation interface in Java. It enables us to keep the collection of objects in order. The four classes that make up the List interface implementation are...

3 minutes read.

What is new in Java 17?

Java 17 LTS is the most recent long-term support release for the Java SE platform. Under the Oracle No-Fee Terms and Conditions License, which stands for long-term support, JDK 17...

6 minutes read.

Menu Driven Program in Java

Menu Driven Program in Java The menu-driven program in Java is a program that displays a menu and then takes input from the user to choose an option from the displayed...

3 minutes read.