我有文件路徑列表:如何從基於另一個列表的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()) –