Finding all objects that have a given property inside a collection [duplicate]

Try the commons collections API:

List<Cat> bigList = ....; // master list

Collection<Cat> smallList = CollectionUtils.select(bigList, new Predicate() {
    public boolean evaluate(Object o) {
        Cat c = (Cat)o;
        return c.getFavoriteFood().equals("Wiskas") 
            && c.getWhateverElse().equals(Something);
    }
});

Of course you don’t have to use an anonymous class every time, you could create implementations of the Predicate interface for commonly used searchs.

Leave a Comment