Approach 1: Using filter()
List<String> words = Arrays.asList("a","abcd","xyz","hello");
List<String> longOnes = words.stream()
.filter(s -> s.length() >= 3)
.collect(Collectors.toList());
System.out.println(longOnes); // [abcd, xyz, hello]
Why it works:
- Standard predicate-based filtering.
Approach 2: Using Collectors.filtering() (Alternative)
List<String> longOnes = words.stream()
.collect(Collectors.filtering(s -> s.length() >= 3, Collectors.toList()));
System.out.println(longOnes); // [abcd, xyz, hello]
Why it works:
- Shows collector-based filtering, useful in downstream collection chains.
