Java: Converting lists of one element type to a list of another type

user288140 picture user288140 · Mar 7, 2010 · Viewed 36.8k times · Source

I'm writing an adapter framework where I need to convert a list of objects from one class to another. I can iterate through the source list to do this as in

Java: Best way of converting List<Integer> to List<String>

However, I'm wondering if there is a way to do this on the fly when the target list is being iterated, so I don't have to iterate through the list twice.

Answer

Alexey Malev picture Alexey Malev · Aug 25, 2015

Java 8 way:

List<String> original = ...;
List<Wrapper> converted = original.stream().map(Wrapper::new).collect(Collectors.toList());

assuming Wrapper class has a constructor accepting a String.