How to search in a List of Java object
collections, java, list, search
Solution
You can give a try to Apache Commons Collections.
There is a class CollectionUtils that allows you to select or filter items by custom Predicate.
Your code would be like this:
Predicate condition = new Predicate() {
boolean evaluate(Object sample) {
return ((Sample)sample).value3.equals("three");
}
};
List result = CollectionUtils.select( list, condition );
Update:
In java8, using Lambdas and StreamAPI this should be:
List<Sample> result = list.stream()
.filter(item -> item.value3.equals("three"))
.collect(Collectors.toList());
much nicer!
Problem
I have a List of object and the list is very big. The object is ``` class Sample { String value1; String value2; String value3; String value4; String value5; } ``` Now I have to search for a specific value of an object in the list. Say if `value3=='three'` I have to return those objects (My search is not always based on value3) The list is ``` List<Sample> list = new ArrayList<Sample>(); ``` What is the efficient way of doing it? Thanks.