Java Online Compiler
Example: ArrayEqualityStreamAPI in Java
C
C++
C#
Java
Python
PHP
Main.java
STDIN
Run
// ArrayEqualityStreamAPI import java.util.Arrays; import java.util.List; import java.util.stream.IntStream; // For primitive int arrays public class Main { public static <T> boolean areArraysEqualStream(T[] arr1, T[] arr2) { // Step 1: Handle null arrays if (arr1 == null && arr2 == null) { return true; } if (arr1 == null || arr2 == null) { return false; } // Step 2: Check if arrays have the same length if (arr1.length != arr2.length) { return false; } // Step 3: Compare elements using streams // IntStream.range creates a stream of indices (0 to length-1) // allMatch checks if all elements satisfy the given predicate return IntStream.range(0, arr1.length) .allMatch(i -> java.util.Objects.equals(arr1[i], arr2[i])); } public static boolean areIntArraysEqualStream(int[] arr1, int[] arr2) { // Step 1: Handle null arrays if (arr1 == null && arr2 == null) { return true; } if (arr1 == null || arr2 == null) { return false; } // Step 2: Check if arrays have the same length if (arr1.length != arr2.length) { return false; } // Step 3: Compare elements using streams (for primitives) // For primitive arrays, direct == comparison is usually fine return IntStream.range(0, arr1.length) .allMatch(i -> arr1[i] == arr2[i]); } public static void main(String[] args) { Integer[] objArr1 = {1, 2, 3}; Integer[] objArr2 = {1, 2, 3}; Integer[] objArr3 = {1, 3, 2}; Integer[] objArr4 = {1, null, 3}; Integer[] objArr5 = {1, null, 3}; System.out.println("--- Object Array Examples (Integer[]) ---"); System.out.println("objArr1 and objArr2 equal: " + areArraysEqualStream(objArr1, objArr2)); System.out.println("objArr1 and objArr3 equal: " + areArraysEqualStream(objArr1, objArr3)); System.out.println("objArr4 and objArr5 equal: " + areArraysEqualStream(objArr4, objArr5)); int[] intArr1 = {10, 20, 30}; int[] intArr2 = {10, 20, 30}; int[] intArr3 = {10, 20, 40}; System.out.println("\n--- Primitive Array Examples (int[]) ---"); System.out.println("intArr1 and intArr2 equal: " + areIntArraysEqualStream(intArr1, intArr2)); System.out.println("intArr1 and intArr3 equal: " + areIntArraysEqualStream(intArr1, intArr3)); } }
Output
Clear
ADVERTISEMENTS