I have a list of type List in functional java using List type provided by fj.data.List
import fj.data.List
List<Long> managedCustomers
I am trying to filter it using the following:
managedCustomers.filter(customerId -> customerId == 5424164219L)
I get this message

According to documentation, List has a filter method and this should work http://www.functionaljava.org/examples-java8.html
What am I missing?
Thanks
As already pointed out in the comment by @Alexis C
managedCustomers.removeIf(customerId -> customerId != 5424164219L);
should get you the filtered list if the customerId equals 5424164219L.
Edit - The above code modifies the existing managedCustomers removing the other entries. And also the other way to do so is using the stream().filter() as -
managedCustomers.stream().filter(mc -> mc == 5424164219L).forEach(//do some action thee after);
Edit 2 -
For the specific fj.List, you can use -
managedCustomers.toStream().filter(mc -> mc == 5424164219L).forEach(// your action);
What you did seem a bit weird, Streams (to use filter) are commonly used like this (I don't know what you really want to do with the filtrate list, you can tell me in the comment tp get a more precise answer) :
//Select and print
managedCustomers.stream().filter(customerId -> customerId == 5424164219L)
.forEach(System.out::println);
//Select and keep
ArrayList<> newList = managedCustomers.stream().filter(customerId -> customerId == 5424164219L)
.collect(Collectors.toList());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With