To determine if a Java array contains a specific value, use one of the following methods based on the array type and context:
1. For Primitive Arrays (e.g., int[], char[])
Loop through the array or use Java 8+ streams.
Using a Loop
int[] arr = {1, 2, 3, 4, 5};
int target = 3;
boolean contains = false;
for (int num : arr) {
    if (num == target) {
        contains = true;
        break;
    }
}
// contains → trueUsing Java 8 Streams
int[] arr = {1, 2, 3, 4, 5};
int target = 3;
boolean contains = Arrays.stream(arr).anyMatch(num -> num == target);2. For Object Arrays (e.g., String[], Integer[])
Use Arrays.asList() with contains() or Java 8 streams.
Using Arrays.asList()
String[] arr = {"apple", "banana", "cherry"};
String target = "banana";
boolean contains = Arrays.asList(arr).contains(target); // trueUsing Java 8 Streams
boolean contains = Arrays.stream(arr)
                         .anyMatch(target::equals); // Handles non-null target
// For null-safe comparison:
boolean contains = Arrays.stream(arr)
                         .anyMatch(s -> Objects.equals(s, target));3. For Sorted Arrays
Use Arrays.binarySearch() for faster lookup (requires sorted array).
int[] sortedArr = {1, 2, 3, 4, 5};
int target = 3;
// Ensure array is sorted first!
int index = Arrays.binarySearch(sortedArr, target);
boolean contains = index >= 0; // trueKey Differences
| Method | Works For | Time Complexity | Notes | 
|---|---|---|---|
| Loop/Stream | All arrays | O(n) | Simplest for primitives and small data | 
| Arrays.asList() | Object arrays | O(n) | Concise for objects (e.g., String[]) | 
| binarySearch | Sorted arrays | O(log n) | Fast for large sorted arrays | 
When to Use Which
- Primitive Arrays: Use loops or streams.
- Object Arrays: Prefer Arrays.asList().contains()for simplicity.
- Large Sorted Arrays: Use binarySearchfor efficiency.
- Java 8+ Code: Streams offer concise syntax and functional programming benefits.
Example Summary
// Primitive array (int[])
int[] nums = {1, 2, 3};
boolean hasThree = Arrays.stream(nums).anyMatch(n -> n == 3);
// Object array (String[])
String[] fruits = {"apple", "banana"};
boolean hasBanana = Arrays.asList(fruits).contains("banana");
// Sorted array (binarySearch)
int[] sorted = {1, 2, 3, 4};
boolean hasTwo = Arrays.binarySearch(sorted, 2) >= 0;Choose the method that best fits your array type, data size, and code style!