Java 8 lambda create list of Strings from list of objects

  • A+
Category:Languages

I have the following qustion:

How can I convert the following code snipped to Java 8 lambda style?

List<String> tmpAdresses = new ArrayList<String>(); for (User user : users) {     tmpAdresses.add(user.getAdress()); } 

Have no idea and started with the following:

List<String> tmpAdresses = users.stream().map((User user) -> user.getAdress()); 

 


You need to collect your stream into a List:

List<String> adresses = users.stream()     .map(User::getAdress)     .collect(Collectors.toList()); 

For more information on the different Collectors visit the documentation

User::getAdress is just another form of writing (User user) -> user.getAdress() which could aswell be written as user -> user.getAdress() (because the type User will be inferred by the compiler)

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: