DEV Community

sanjay shivanna
sanjay shivanna

Posted on

1

Java Streams filter, distinct and map

Simple example to illustrate using Java stream with filter,distinct and map.

 public static void main(String[] args) {
        Person lokesh = new Person(1, "Lokesh", "Gupta");
        Person brian = new Person(2, "Brian", "Clooney");
        Person alex = new Person(3, "Alex", "Kolen");
        Person ram = new Person(1, "Ram", "Mani");
        Person rahim = new Person(2, "Rahim", "sab");
        Person jhon = new Person(3, "Jhon", "son");

        List<String> personList = Arrays.asList("Lokesh", "Alex", "Peter");


        Collection<Person> list = Arrays.asList(lokesh, brian, alex, lokesh, brian, lokesh, ram, rahim, jhon);
        // Filter out fnames and then get distinct lastNames
        List<String> listWithLastName = list.stream()
                .filter(person -> !personList.contains(person.getFname()))
                .distinct()
                .map(person -> person.getLname())
                .collect(Collectors.toList());

        // Out put - [Clooney, Mani, sab, son]
        System.out.println(listWithLastName);
    }

After running above program you will see output like below
[Clooney, Mani, sab, son]

--
create pojo person class with the fields mentioned above

The example above is referred from https://howtodoinjava.com/java8/java-stream-distinct-examples/ and modified to explain filter,distinct and collect.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay