Search code examples
javaarraystraversal

How can I check if all values in an array have a certain value?


In Java, given an array of values (say integers), is there a way to efficiently check to see if they all have a certain value?

For example, with an array of integers such as:

int[] numbers = {2, 2, 2, 2, 2, 2, 2};

and you need to perform an action only if all of them are 2, is there a more effective way than doing this:

if (numbers[1] == 2 && numbers[2] == 2 && numbers[3] == 2 && …)

I know there are ways to do this in C++ but what about Java?


Solution

  • Or, if using java 8, you can do something like:

    if(Arrays.stream(numbers).allMatch(x -> x == 2)) {
        // do something
    }
    

    Basically, pretty much everything that you might want to do that deals with collections/arrays, can be very concisely done with the Streams.