Chris Garsonn:
J'ai une liste de GroupOffices
List<GroupOffice> officesOfTheGroup;
Je veux chercher si l'identifiant ne correspond pas à groupOffice.getId (valeur longue) , mais l'étiquette est groupOffice.getLabel (String) et lui attribuer une valeur booléenne. Le ci - dessous le code est bon travail, mais est - il une meilleure approche au lieu de passer par tous les articles avec boucle?
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:
}
Ou comment flux puis-je utiliser? Si oui, est courant à l'aide est une meilleure approche pour elle?
Note: J'utilise Java8
Ruslan:
Si vous avez besoin valeur booléenne que vous pouvez faire:
boolean b = officesOfTheGroup.stream()
.anyMatch(office -> !office.getId().equals(5) && office.getLabel().equals("London"))