Java 8, как удалить элемент из массива с идентификаторами из массива - PullRequest
2 голосов
/ 27 апреля 2019

Как удалить элемент из массива с идентификаторами из массива.Я попытался:

List <Group> loadedGroupList = iGroupRepository.findAll();
String [] groupIds = StringUtils.split(selectionGroupsIds, ',');

for (int i = 0 ; i < groupIds.length; i++) {
    String groupId = groupIds[i];
    loadedGroupList.removeIf(x -> x.getId() != Long.parseLong(groupId));
}

Но я получил пустой массив.Пожалуйста помоги.Спасибо.

1 Ответ

3 голосов
/ 27 апреля 2019

groupIds - массив String, преобразуйте его в List<String> и используйте contains()

удаляет Group из загруженного списка, если groupId находится в массиве groupIds

loadedGroupList.removeIf(x -> Arrays.asList(groupIds).contains(x.getId()));

удаляет Group из загруженного списка групп, если groupId отсутствует в массиве groupIds

loadedGroupList.removeIf(x -> !Arrays.asList(groupIds).contains(x.getId()));

Используя потоки java-8, отфильтруйте Group, который этого не делаетесть id в String массив groupIds

List<Group> result = loadedGroupList.stream()
                                    .filter(x->!Arrays.asList(groupIds).contains(x.getId()))
                                    .collect(Collectors.toList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...