Skip to main content

Java Array, Multi Dimensional Array, Anonymous Array and Arrays Util Class

Array

  • An array is a index based container object.
  • The length of an array fixed at time of array creation.
  • An Array holds a fixed number of values of a single type.

One Dimensional Array

Array can be created by two ways.
Syntex:

//1st way
arraytype[] name = new arraytype[length];

//2nd way
arraytype name[] = new arraytype[length];

1st way is more readable.
Examples:

//charecyter Array Example:
//creating Array of char, length 5
char[] charArray = new char[5];

//Initialize array elements
charArray[0] = 'H';
charArray[1] = 'E';
charArray[2] = 'L';
charArray[3] = 'L';
charArray[4] = 'O';

//creating Array of int, length 4
int[] intArray = new int[4];

//Initialize array elements
intArray[0] = 2;
intArray[1] = 0;
intArray[2] = 1;
intArray[3] = 5;

//creating Array of string, length 7
String[] weeks = new String[7];

//Initialize array elements
weeks[0] = "mon";
weeks[1] = "tue";
weeks[2] = "wed";
weeks[3] = "thu";
weeks[4] = "fri";
weeks[5] = "sat";
weeks[6] = "sun";

Shortcut syntax to create and initialize an array:


//creating & Initialize Array
char[] charArray = {'H','E','L','L','O'};
int[] intArray = {2,1,0,5};
String[] weeks = {"mon","tue","wed","thu","fri","sat","sun"};

Accessing an Array in java


public class IntArrayTest {
 
 private void printArrayElement() {
  //creating Array of int, length 4
  int[] intArray = new int[4];

  //Initialize array elements
  intArray[0] = 2;
  intArray[1] = 0;
  intArray[2] = 1;
  intArray[3] = 5;
  
  //access array element
  System.out.println(intArray[2]);
  System.out.println(intArray[3]);
  
  //access each element of array
  for(int i=0;i<4;i++){
   System.out.println(intArray[i]);
  }
  
 }
 
 public static void main(String[] args) {
  IntArrayTest at = new IntArrayTest();
  at.printArrayElement();
 }
}

/*
output:
1
5
2
0
1
5
*/

public class StringArrayTest {
   
       private static void printArrayElement() {
  //creating & Initialize Array
  String[] days = {"mon","tue","wed","thu","fri","sat","sun"};
  
  //access array element
  System.out.println(days[2]);
  System.out.println(days[3]);
  System.out.println("------------");
  //length is attribute of Array object, in which length of array store
  //value of length is 7
  int length = days.length;

  //access each element of array
  for(String day:days){
   System.out.println(day);
  }
 }

        public static void main( String[] args ){
           printArrayElement();
        }

}


Output:
wed
thu
------------
mon
tue
wed
thu
fri
sat
sun

Multi Dimensional Array

If an array contains one or more than one arrays called Multi Dimensional Array.
An array only contains same type of data, if array element have another array objects, so that kind of structure called Multi Dimensional Array.
You can relate this with MATRIX.

Example:

public class ArrayTest {
 
 private void printArrayElement() {
  
  //Create Multi Dimensional Array
  int[][] md= new int[3][2];
  
  //Initialize Multi Dimensional Array
  md[0][0] = 1;
  md[0][1] = 2;
  
  md[1][0] = 3;
  md[1][1] = 4;
  
  md[2][0] = 5;
  md[2][1] = 6;
  
  //access multi dimensional array
  for(int i=0;i<3;i++){
   for(int j=0;j<2;j++){
    System.out.println(md[i][j]);
   }

   System.out.println("---");
  }
  
 }
 
 public static void main(String[] args) {
  ArrayTest at = new ArrayTest();
  at.printArrayElement();
 }
}
/*
output:
1
2
---
3
4
---
5
6
---
*/

public class ArrayTest {
 
 private void printArrayElement() {
  
  //Create & Initialize Multi Dimensional Array
  int[][] md= {{1,2},{3,4},{5,6}};
 
  //access multi dimensional array
  for(int i=0;i<3;i++){
   for(int j=0;j<2;j++){
    System.out.println(md[i][j]);
   }

   System.out.println("---");
  }
  
 }
 
 public static void main(String[] args) {
  ArrayTest at = new ArrayTest();
  at.printArrayElement();
 }
}
/*
output:
1
2
---
3
4
---
5
6
---
*/

Anonymous Array

 Anonymous means not identified by name
  • An array without name is known as Anonymous Array.
  • Anonymous Array use as method argument

int type anonymous array : new int[] { 1, 2, 3, 4, 5};
char type anonymous array :  new char[] {'a', 'b', 'c', 'd');
String type anonymous array : new String[] {"one", "two", "three", "four"};
Eaxmple:

public class ArrayTest {

        public static void main(String[] args) {
  ArrayTest at = new ArrayTest();
 
  at.printIntArrayElement(new int[]{1,2,3,4});
 
  at.printCharArrayElement(new char[]{'a','b','c','d'});
  
  at.printStringArrayElement(new String[]{"one", "two", "three", "four"});
 }
 
 //print int type anonymous array
 private void printIntArrayElement(int[] intArray) {
  
  int length = intArray.length; 
  //access anonymous array
  for(int i=0;i<length;i++){
        System.out.println(intArray[i]);
  }
  
 }
 
 //print char type anonymous array
    private void printCharArrayElement(char[] charArray) {
  
     int length = charArray.length; 
  //access anonymous array
  for(int i=0;i<length;i++){
        System.out.println(charArray[i]);
  }
  
 }
    
  //print String type anonymous array
    private void printStringArrayElement(String[] strArray) {
 
     int length = strArray.length; 
  //access anonymous array
  for(int i=0;i<length;i++){
        System.out.println(strArray[i]);
  }
  
 }

}
/*
output
1
2
3
4
a
b
c
d
one
two
three
four
 */

Arrays Util Class 

Arrays is a util class contains various methods for manipulating array objects. Some useful methods are listed below.

Compare Two Array

Arrays static method equals use for compare two arrays. It returns boolean.

Syntex:

static boolean equals(boolean[] a1, boolean[] a2)

static boolean equals(byte[] a1, byte[] a2)

static boolean equals(char[] a1, char[] a2)

static boolean equals(double[] a1, double[] a2)

static boolean equals(float[] a1, float[] a2)

static boolean equals(int[] a1, int[] a2)

static boolean equals(long[] a1, long[] a2)

static boolean equals(Object[] a1, Object[] a2)

static boolean equals(short[] a1, short[] a2)
Example

import java.util.Arrays;

public class ArraysUtilTest {
 
 public static void main(String[] args) {
  
    int[] a1 = {1,2,3,4};
    int[] a2 = {2,1,3,5};
    int[] a3 = {1,2,3,4};
    
    boolean b1 = Arrays.equals(a1, a2);
    boolean b2 = Arrays.equals(a1, a3);
    
    System.out.println("Is a1 Array equals a2::"+b1);
    System.out.println("Is a1 Array equals a3::"+b2);
 }

}
/*
output
Is a1 Array equals a2::false
Is a1 Array equals a3::true
*/

Print array as string representation

You can use toString() method to represent an array as string.

Syntax:

static String toString(boolean[] a)

static String toString(byte[] a)

static String toString(char[] a)

static String toString(double[] a)

static String toString(float[] a)

static String toString(int[] a)

static String toString(long[] a)

static String toString(Object[] a)

static String toString(short[] a)

static String toString(String[] a)
Example:

import java.util.Arrays;

public class ArraysUtilTest {
 
 public static void main(String[] args) {

  
    int[] a = {2,1,3,5};
    
    String stringRep = Arrays.toString(a);
    System.out.println(stringRep);
    
    String[] str = {"bc","mc","ac"};
    System.out.println(Arrays.toString(str));
 }

}
/*
output
[2, 1, 3, 5]
[bc, mc, ac]
*/

Sort array elements

You can sort array elements into ascending order by using static method sort() of Arrays util class.

Syntax:

static void sort(byte[] a)

static void sort(char[] a)

static void sort(double[] a)

static void sort(float[] a)

static void sort(int[] a)

static void sort(long[] a)

static void sort(Object[] a)

static void sort(short[] a)

static void sort(String[] a)
Example:

import java.util.Arrays;

public class ArraysUtilTest {
 
 public static void main(String[] args) {
 
    int[] a = {2,1,3,5};
    
    //sort int array a
    Arrays.sort(a);
    System.out.println(Arrays.toString(a));
    
    String[] str = {"bc","mc","ac"};
   
    //sort String array str
    Arrays.sort(str);
    System.out.println(Arrays.toString(str));
 }

}
/*
output
[1, 2, 3, 5]
[ac, bc, mc]
*/

Comments