Even though it's an old question I'd like to show another solution:
Just define your own operation using java generics and java 8 streams:
public static <S, T> List<T> map(Collection<S> collection, Function<S, T> mapFunction) {
return collection.stream().map(mapFunction).collect(Collectors.toList());
}
Than you can write code like this:
List<String> hex = map(Arrays.asList(10, 20, 30, 40, 50), Integer::toHexString);