Arrays Class in Java

I am a Tech Enthusiast having 13+ years of experience in ๐๐ as a ๐๐จ๐ง๐ฌ๐ฎ๐ฅ๐ญ๐๐ง๐ญ, ๐๐จ๐ซ๐ฉ๐จ๐ซ๐๐ญ๐ ๐๐ซ๐๐ข๐ง๐๐ซ, ๐๐๐ง๐ญ๐จ๐ซ, with 12+ years in training and mentoring in ๐๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐๐ญ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐๐ฌ๐ญ ๐๐ฎ๐ญ๐จ๐ฆ๐๐ญ๐ข๐จ๐ง ๐๐ง๐ ๐๐๐ญ๐ ๐๐๐ข๐๐ง๐๐. I have ๐๐๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ 10,000+ ๐ฐ๐ป ๐ท๐๐๐๐๐๐๐๐๐๐๐๐ and ๐๐๐๐ ๐๐๐๐๐ ๐๐๐๐ ๐๐๐๐ 500+ ๐๐๐๐๐๐๐๐ ๐๐๐๐๐๐๐๐ in the areas of ๐๐จ๐๐ญ๐ฐ๐๐ซ๐ ๐๐๐ฏ๐๐ฅ๐จ๐ฉ๐ฆ๐๐ง๐ญ, ๐๐๐ญ๐ ๐๐ง๐ ๐ข๐ง๐๐๐ซ๐ข๐ง๐ , ๐๐ฅ๐จ๐ฎ๐, ๐๐๐ญ๐ ๐๐ง๐๐ฅ๐ฒ๐ฌ๐ข๐ฌ, ๐๐๐ญ๐ ๐๐ข๐ฌ๐ฎ๐๐ฅ๐ข๐ณ๐๐ญ๐ข๐จ๐ง๐ฌ, ๐๐ซ๐ญ๐ข๐๐ข๐๐ข๐๐ฅ ๐๐ง๐ญ๐๐ฅ๐ฅ๐ข๐ ๐๐ง๐๐ ๐๐ง๐ ๐๐๐๐ก๐ข๐ง๐ ๐๐๐๐ซ๐ง๐ข๐ง๐ . I am interested in ๐ฐ๐ซ๐ข๐ญ๐ข๐ง๐ ๐๐ฅ๐จ๐ ๐ฌ, ๐ฌ๐ก๐๐ซ๐ข๐ง๐ ๐ญ๐๐๐ก๐ง๐ข๐๐๐ฅ ๐ค๐ง๐จ๐ฐ๐ฅ๐๐๐ ๐, ๐ฌ๐จ๐ฅ๐ฏ๐ข๐ง๐ ๐ญ๐๐๐ก๐ง๐ข๐๐๐ฅ ๐ข๐ฌ๐ฌ๐ฎ๐๐ฌ, ๐ซ๐๐๐๐ข๐ง๐ ๐๐ง๐ ๐ฅ๐๐๐ซ๐ง๐ข๐ง๐ new subjects.
The
Arraysclass in Java is part of thejava.utilpackage and provides utility methods for working with arrays, including sorting, searching, comparing, and filling elements.
Overview of Arrays Class
The
Arraysclass is a final class (cannot be extended).It contains static methods for performing operations on arrays.
It works with primitive and object arrays.
Provides enhanced performance for array manipulations.
Commonly Used Methods in Arrays Class
| Method | Description |
sort(array) | Sorts the array in ascending order. |
binarySearch(array, key) | Searches for a key using binary search (sorted array required). |
equals(arr1, arr2) | Compares two arrays for equality. |
fill(array, value) | Fills the entire array with a specific value. |
copyOf(array, newLength) | Copies an array and resizes it. |
toString(array) | Converts the array to a readable string format. |
asList(array) | Converts an array into a List. |
hashCode(array) | Returns a hash code based on array contents. |
Examples of Arrays Class
Sorting an Array (sort())
The sort() method sorts an array in ascending order.
Example - Sorting an Integer Array
import java.util.Arrays;
public class ArraysSortExample {
public static void main(String[] args) {
int[] numbers = {5, 2, 8, 1, 3};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // Output: [1, 2, 3, 5, 8]
}
}
Sorting an Array of Strings
import java.util.Arrays;
public class StringArraySort {
public static void main(String[] args) {
String[] names = {"Zara", "Alice", "Bob"};
Arrays.sort(names);
System.out.println(Arrays.toString(names)); // Output: [Alice, Bob, Zara]
}
}
Sorting a Subarray
javaCopyEditint[] arr = {10, 5, 20, 15, 30};
Arrays.sort(arr, 1, 4);
System.out.println(Arrays.toString(arr)); // Output: [10, 5, 15, 20, 30]
Here, only elements from index 1 to 3 (excluding 4) are sorted.
Searching in an Array (binarySearch())
binarySearch() is used to find an element in a sorted array.
Example - Finding an Element
import java.util.Arrays;
public class BinarySearchExample {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 9};
int index = Arrays.binarySearch(arr, 5);
System.out.println("Element found at index: " + index); // Output: 2
}
}
๐น Note: If the element is not found, it returns -(insertion point) - 1.
Comparing Arrays (equals())
equals(arr1, arr2) checks if two arrays are identical.
import java.util.Arrays;
public class CompareArrays {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
int[] arr3 = {3, 2, 1};
System.out.println(Arrays.equals(arr1, arr2)); // Output: true
System.out.println(Arrays.equals(arr1, arr3)); // Output: false
}
}
Filling an Array (fill())
fill() assigns the same value to all elements in the array.
import java.util.Arrays;
public class FillArray {
public static void main(String[] args) {
int[] arr = new int[5];
Arrays.fill(arr, 7); // Fill all elements with 7
System.out.println(Arrays.toString(arr)); // Output: [7, 7, 7, 7, 7]
}
}
You can also fill a specific range:
Arrays.fill(arr, 1, 4, 10);
This fills index 1 to 3 with 10.
6. Copying Arrays (copyOf(), copyOfRange())
copyOf(array, newLength): Creates a new array with a specified length.copyOfRange(array, from, to): Copies a specific range.
import java.util.Arrays;
public class CopyArray {
public static void main(String[] args) {
int[] original = {10, 20, 30, 40, 50};
int[] copied = Arrays.copyOf(original, 3);
System.out.println(Arrays.toString(copied)); // Output: [10, 20, 30]
}
}
Example - Copying a Range
int[] copiedRange = Arrays.copyOfRange(original, 1, 4);
System.out.println(Arrays.toString(copiedRange)); // Output: [20, 30, 40]
Converting Arrays to String (toString())
This method is used for displaying array elements.
Example
import java.util.Arrays;
public class ArrayToString {
public static void main(String[] args) {
String[] fruits = {"Apple", "Banana", "Cherry"};
System.out.println(Arrays.toString(fruits)); // Output: [Apple, Banana, Cherry]
}
}
Converting Arrays to List (asList())
asList() converts an array into a List.
import java.util.Arrays;
import java.util.List;
public class ArrayToList {
public static void main(String[] args) {
String[] colors = {"Red", "Green", "Blue"};
List<String> colorList = Arrays.asList(colors);
System.out.println(colorList); // Output: [Red, Green, Blue]
}
}
๐น Note: The list returned is fixed-size, meaning you cannot add() or remove() elements.
Generating Hash Code (hashCode())
hashCode() returns a hash code for an array, useful in hash-based collections.
import java.util.Arrays;
public class ArrayHashCode {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
System.out.println(Arrays.hashCode(arr)); // Example Output: 30817
}
}
Multidimensional Arrays Support
The deepToString() and deepEquals() methods handle nested arrays.
Converting 2D Array to String
import java.util.Arrays;
public class MultiDimensionalArray {
public static void main(String[] args) {
int[][] matrix = { {1, 2}, {3, 4} };
System.out.println(Arrays.deepToString(matrix));
// Output: [[1, 2], [3, 4]]
}
}
Conclusion
The
Arraysclass simplifies sorting, searching, filling, and comparing arrays.It is a high-performance alternative to writing custom array operations.
Ideal for working with primitive & object arrays.



