Пока еще нет способа применить такую функцию отображения к Java List
(или другим коллекциям). Замыкания, которые обеспечат эту функциональность, были серьезно рассмотрены в предстоящем выпуске JDK 7, но они были отложены до более позднего выпуска из-за отсутствия консенсуса.
С текущими конструкциями вы можете реализовать что-то вроде этого:
public abstract class Convertor<P, Q>
{
protected abstract Q convert(P p);
public static <P, Q> List<Q> convert(List<P> input, Convertor<P, Q> convertor)
{
ArrayList<Q> output = new ArrayList<Q>(input.size());
for (P p : input)
output.add(convertor.convert(p));
return output;
}
}