Как использовать потоки Java 8 для оптимизации следующего кода? Дважды использовать AnyMatch не имеет смысла.
boolean isRoleOld,isRoleNew;
for (Relations relation : listOfRelations)
{
if (Constants.ROLE_OLD.equalsIgnoreCase(relation.getRole()))
{
isRoleOld = true;
}
if (Constants.ROLE_NEW.equalsIgnoreCase(relation.getRole()))
{
isRoleNew = true;
}
}
if (isRoleOld && isRoleNew)
{
"Success"
}else{
throw Exception();
}
На данный момент я сделал следующее:
if (listOfRelations.stream()
.anyMatch(relation -> Constants.ROLE_OLD.equalsIgnoreCase(relation.getRole()))
&&
listOfRelations.stream()
.anyMatch(relation -> Constants.ROLE_NEW.equalsIgnoreCase(relation.getRole())))
{
System.out.println("Success");
}
Подробнее здесь: https://stackoverflow.com/questions/702 ... conditions
Оптимизируйте использование потоков, чтобы проверить, соответствует ли какой-либо элемент двум условиям. ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение