I have the following qustion:
How can I convert the following code snipped to Java 8 lambda style?
List tmpAdresses = new ArrayList
You can use this to convert Long
to String
:
List<String> ids = allListIDs.stream()
.map(listid-> String.valueOf(listid))
.collect(Collectors.toList());
One more way of using lambda collectors like above answers
List<String> tmpAdresses= users
.stream()
.collect(Collectors.mapping(User::getAddress, Collectors.toList()));
It is extended your idea:
List<String> tmpAdresses = users.stream().map(user ->user.getAdress())
.collect(Collectors.toList())
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)