You can do something like this using Google Collections Collections2.filter():
final List namesToKeep = getNamesToFilter();
List filtered = Collections2.filter(originalList, new Predicate() {
@Override
public boolean apply(MyObject o) {
return namesToKeep.contains(o.getName());
}
});