LSt*_*ike 7 java arraylist java-8 java-stream
我有以下qustion:
如何将以下代码转换为Java 8 lambda样式?
List<String> tmpAdresses = new ArrayList<String>();
for (User user : users) {
tmpAdresses.add(user.getAdress());
}
Run Code Online (Sandbox Code Playgroud)
不知道并开始以下内容:
List<String> tmpAdresses = users.stream().map((User user) -> user.getAdress());
Run Code Online (Sandbox Code Playgroud)
Lin*_*ica 23
您需要将collect您的流转换为List:
List<String> adresses = users.stream()
.map(User::getAdress)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
有关不同的更多信息,Collectors请访问文档
User::getAdress只是另一种形式的写作(User user) -> user.getAdress(),也可以写成user -> user.getAdress()(因为类型User将由编译器推断)
它扩展了你的想法:
List<String> tmpAdresses = users.stream().map(user ->user.getAdress())
.collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5190 次 |
| 最近记录: |