Chr*_*onn 2 java list stream java-8 java-stream
我有一个GroupOffices列表
List<GroupOffice> officesOfTheGroup;
Run Code Online (Sandbox Code Playgroud)
我想搜索id是否等于groupOffice.getId(长值),但标签为groupOffice.getLabel(字符串),并将其分配给布尔值。下面的代码运行良好,但是有没有比使用for循环遍历所有项目更好的方法了?
public GroupOfficeDto saveGroupOffice(GroupOfficeDto groupOfficeDto) {
List<GroupOffice> officesOfTheGroup = //some list from db..
for (GroupOffice go : officesOfTheGroup) {
if ((!go.getId().equals(groupOfficeDto.getId())) && go.getLabel().equals(groupOfficeDto.getLabel())) {
return groupOfficeDto;
}
return null:
}
Run Code Online (Sandbox Code Playgroud)
或者如何使用流?如果是这样,使用流是更好的方法吗?
注意:我正在使用Java8
如果需要布尔值,可以执行以下操作:
boolean b = officesOfTheGroup.stream()
.anyMatch(office -> !office.getId().equals(5) && office.getLabel().equals("London"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |