如何使用数组中的 id 从数组列表中删除项目。我尝试过:
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));
}
但是我得到一个空的数组列表。请帮忙。谢谢。
最佳答案
groupIds
是 String
数组,将其转换为List<String>
并使用contains()
删除 Group
如果groupId在groupIds数组中,则来自loadedGroupList
loadedGroupList.removeIf(x -> Arrays.asList(groupIds).contains(x.getId()));
删除 Group
如果groupId不在groupIds数组中,则从loadedGroupList
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());
关于Java 8如何使用数组中的id从数组列表中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55876856/