Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Checking Stream Elements Against a Condition with allMatch() | Terminal Operations in the Stream API
Stream API
course content

Course Content

Stream API

Stream API

1. Fundamentals and Functional Capabilities of Stream API
4. Practical Applications of Stream API

book
Checking Stream Elements Against a Condition with allMatch()

When working with data streams, you often need to check whether elements meet certain conditions. For example, you might want to verify that all items in a shopping cart are in stock, that at least one item is discounted, or that there are no canceled orders.

To handle these cases, Stream API provides three useful methods: allMatch(), anyMatch(), and noneMatch(). These methods allow you to quickly check whether stream elements satisfy a given predicate.

allMatch() Method

The allMatch() method checks whether all elements in a stream satisfy a given predicate. If at least one element does not meet the condition, the method returns false.

This method takes a predicate—a function that returns a boolean—and applies it to each element in the stream. If all elements satisfy the condition, it returns true; otherwise, it returns false.

Practical Example

In an online store, free shipping is available if all items in the cart cost more than $10. You need to check whether free shipping applies to the current order.

java

Main

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(15, 20, 12, 9); // Item prices boolean freeShipping = prices.stream().allMatch(price -> price > 10); if (freeShipping) { System.out.println("Free shipping applied."); } else { System.out.println("Not all items qualify for free shipping."); } } }

In this code, you create a list of item prices: [15, 20, 12, 9]. The method allMatch(price -> price > 10) checks if all items cost more than $10. If they do, a message about successful free shipping is displayed; otherwise, a message indicating that not all items qualify appears.

anyMatch() Method

The anyMatch() method checks whether at least one element in a stream satisfies a given predicate. If at least one element meets the condition, the method returns true and stops processing.

This method takes a predicate and applies it to each element in the stream. As soon as it finds a matching element, it returns true and stops execution.

Practical Example

An online store offers a VIP program if at least one item in the cart costs more than $500. You need to check if the customer qualifies for VIP status.

java

Main

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(530, 300, 40, 120); // Item prices boolean hasExpensiveItem = prices.stream().anyMatch(price -> price > 500); if (hasExpensiveItem) { System.out.println("Customer qualifies for VIP status."); } else { System.out.println("No expensive items in the cart."); } } }

Here, the method anyMatch(price -> price > 500) checks whether there is at least one item priced over $500. If found, hasExpensiveItem becomes true, and a message about qualifying for VIP status is printed; otherwise, a message indicating no expensive items in the cart appears.

noneMatch() Method

The noneMatch() method checks whether none of the elements in a stream satisfy a given predicate. If no elements match the condition, the method returns true.

This method takes a predicate and applies it to each element in the stream. If no elements meet the condition, it returns true; otherwise, it returns false.

Practical Example

An online store does not allow items with a price below zero. You need to check if there are any such items in the cart.

java

Main

copy
1234567891011121314151617
package com.example; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> prices = List.of(1500, 2000, 3000, 0); // Item prices boolean noFreeItems = prices.stream().noneMatch(price -> price < 0); if (noFreeItems) { System.out.println("All items have valid prices."); } else { System.out.println("The cart contains an item with a zero price."); } } }

In this example, noneMatch(price -> price < 0) checks if there are no items priced below $0. If all items have a valid price, a message confirming this is printed; otherwise, a message indicating the presence of an item with an invalid price appears.

1. Which method checks if at least one element in the stream satisfies a condition?

2. Which method should you use to ensure there are no values less than zero in a list?

question mark

Which method checks if at least one element in the stream satisfies a condition?

Select the correct answer

question mark

Which method should you use to ensure there are no values less than zero in a list?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 3. Chapter 12
We're sorry to hear that something went wrong. What happened?
some-alt