EN
Java 8 - filter list using streams (ArrayList)
3
points
In this article, we would like to show you how to filter ArrayList in Java.
Quick solution:
// string filter
List<String> filtered = myArrayList.stream()
.filter(string -> string.contains("substring"))
.collect(Collectors.toList());
// integer filter
List<Integer> filtered = myArrayList.stream()
.filter(number -> number > 2)
.collect(Collectors.toList());
Practical examples
Example 1
In this example, we check if elements from fruits
ArrayList contain specified substring and save the elements that does in a new filtered
ArrayList.
import java.util.*;
import java.util.stream.Collectors;
public class Example {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
fruits.add("cherry");
fruits.add("grapes");
List<String> filtered = fruits.stream()
.filter(string -> string.contains("ap"))
.collect(Collectors.toList());
System.out.println(filtered);
}
}
Output:
[apple, grapes]
Example 2
In this example, we check if elements from numbers
ArrayList satisfy the specified condition and save the elements that does in a new filtered
ArrayList.
import java.util.*;
import java.util.stream.Collectors;
public class Example {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
List<Integer> filtered = numbers.stream()
.filter(number -> number > 2)
.collect(Collectors.toList());
System.out.println(filtered);
}
}
Output:
[3, 4]