Где U-Boot получает CONFIG_SYS_INIT_SP_ADDR для Marvell Armada 38x (MVEBU)

Вы можете сделать это:

List<User> usersInSpecificProject =
  allUsers.stream()
        .filter(u -> u.getProjects().stream()
                                    .map(Project::getId)
                                    .anyMatch(pid -> pid.equals(projectId)))
        .collect(Collectors.toList());

Ваша исходная версия должна быть улучшена с помощью break после выполнения условия if(project.getId().equals(projectId)).

Именно поэтому filter использует anyMatch(), чтобы разбить первое совпадение.

Для более элегантной версии вы можете указать наш фильтр:

Predicate<User> hasProject = u -> u.getProjects().stream()
                                   .map(Project::getId)
                                   .anyMatch(pid -> pid.equals(projectId));
List<User> result = allUsers.stream().filter(hasProject).collect(toList());
0
задан user10938506 19 January 2019 в 20:05
поделиться