我有文件路径列表:如何从基于另一个列表的lambda列表中删除元素
List<Path> filePaths; //e.g. [src\test\resources\file\15\54\54_exampleFile.pdf]
54
以上是指文件ID
我则获得String
IDS我的应用程序可以处理如下,其中一个Set
:
Set<String> acceptedIds = connection.getAcceptedIDs(); //e.g. elements [64, 101, 33]
我如何使用Java 8个lambda表达式来filter
出filePaths
中的所有元素不包含acceptedIds
收藏集中包含的任何可接受的ID。
换句话说,我想保留在filePaths
只有ID为acceptedIds
设置的路径。例如,54不在上面的列表中,因此被删除。
filePaths.stream().filter(...).collect(Collectors.toList());
我们可以依靠使用ID命名的直接父目录吗? – Bohemian
filePaths.removeIf(p - >!acceptedIds.contains(p.getPath()) –