Java Stream How to - Count element after filtering








Question

We would like to know how to count element after filtering.

Answer

import java.util.ArrayList;
import java.util.List;
//from ww  w  .  j a  va2s. c o  m
public class Main {

  public static void main(final String[] args) {
    List<String> stringCollection = new ArrayList<>();
    stringCollection.add("ddd2");
    stringCollection.add("aaa2");
    stringCollection.add("bbb1");
    stringCollection.add("aaa1");
    stringCollection.add("bbb3");
    stringCollection.add("ccc");
    stringCollection.add("bbb2");
    stringCollection.add("ddd1");



    long startsWithB = stringCollection
            .stream()
            .filter((s) -> s.startsWith("b"))
            .count();

    System.out.println(startsWithB);    // 3

  }

}

The code above generates the following result.