Alnbe:
配列からIDを持つのArrayListから項目を削除する方法。私が試してみました:
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));
}
しかし、私は空のArrayListを取得します。助けてください。ありがとうございました。
デッドプール :
groupIds
あるString
配列、に変換List<String>
して使用することは、contains()
削除しGroup
loadedGroupListからのgroupIdがgroupIds配列である場合
loadedGroupList.removeIf(x -> Arrays.asList(groupIds).contains(x.getId()));
削除しGroup
loadedGroupListからの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());