Arrays.fill(long[], int, int, long) in Java

Arrays.fill(long[], int, int, long): This method is available in java.util.Arrays class of Java.

Syntax:

void java.util.Arrays.fill(long[] a, int fromIndex, int toIndex, long val)

This method takes four arguments one of type long array and the other two of type int and the other one of type long as its parameters. This method assigns the specified long value to each element of the specified range of the specified array of longs.

Parameters: Four parameters are required for this method.

a: the array to be filled.

fromIndex: the index of the first element (inclusive) to be filled with the specified value.

toIndex: the index of the last element (exclusive) to be filled with the specified value.

val: the value to be stored in all elements of the array.

Returns: NA

Throws:

1. IllegalArgumentException - if fromIndex > toIndex.

2. ArrayIndexOutOfBoundsException - if fromIndex < 0 or  toIndex > a.length

Approach 1: When no exceptions

Java

import java.util.Arrays;

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

        long a[] = new long[5];

        long val = 10;

        int fromIndex = 0, toIndex = 2;
        Arrays.fill(a, fromIndex, toIndex, val);

        System.out.println(Arrays.toString(a));
    }
}

Output:

[10, 10, 0, 0, 0]


Approach 2: IllegalArgumentException 

Java

import java.util.Arrays;

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

        long a[] = new long[5];

        long val = 10;

        int fromIndex = 3, toIndex = 2;
        Arrays.fill(a, fromIndex, toIndex, val);

        System.out.println(Arrays.toString(a));
    }
}

Output:

Exception in thread "main" java.lang.IllegalArgumentException: fromIndex(3) > toIndex(2) at java.base/java.util.Arrays.rangeCheck(Arrays.java:718) at java.base/java.util.Arrays.fill(Arrays.java:3167)



Approach 3: ArrayIndexOutOfBoundsException

Java

import java.util.Arrays;

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

        long a[] = new long[5];

        long val = 10;

        int fromIndex = -1, toIndex = 2;
        Arrays.fill(a, fromIndex, toIndex, val);

        System.out.println(Arrays.toString(a));
    }
}

Output:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -1 at java.base/java.util.Arrays.rangeCheck(Arrays.java:722) at java.base/java.util.Arrays.fill(Arrays.java:3167)



No comments:

Post a Comment