Java Stream Filter , Sort Examples

Last Updated On Sunday 21st Nov 2021

Jav Streams

Java Streams API. It allows you to drive away from Imperative Approach to Declarative Approach Programming.

Java Streams

Filter Methods:

  • We Call the actual collection that we need
  • .stream() – this takes you to abstraction
  • You Can ask what you want of that list
  • We have .filter() method
  • We have to collect the result in the brand new list
  • We used the .collect() method
  • It takes Collector.toList()
	import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {

    public static void main(String[] args) {

        List < String > lines = Arrays.asList("Adam", "Olivia", "Amelia", "Harry");

        List < String > result = lines.stream()
            .filter(line - > !"Harry".equals(line))
            .collect(Collectors.toList());

        result.forEach(System.out::println);
    }
}
	

The Above code returns

	  Adam, Olivia, Amelia
	

Sort Methods

  • Whenever we use the Declarative approach, we need to do abstraction mode
  • .stream() – this takes you to abstraction
  • We have .sorted() method
  • It takes Comparator.comparing() Comparator Method
  • It takes Comparator.reverseOrder() Reversing Method
  • We have to collect the result in the brand new list
  • We used the .collect() method
  • It takes Collector.toList()
  • If you want to reverse the output.Just add .reversed() method
	import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

public class Main {

    public static void main(String[] args) {

        List < String > list = Arrays.asList("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O");

        List < String > sortedList = list.stream()
            .sorted(Comparator.reverseOrder())
            .collect(Collectors.toList());

        sortedList.forEach(System.out::println);
    }
}
	

It returns the output in reverse order

	O
N
M
L
K
J
I
H
G
F
E
D
C
B
A
	
  • Streams Api Easy to work with Collections
  • It tunes the performance as well
  • It’s Better with a large amount of data
  • It reduced the many lines of codes