监听文件删除后 为何先过滤得到没有删除的文件列表allAvailableFileIdList,之后又将已删除的文件列表fileIdList添加进来
来源:8-16 实现分享状态刷新处理器

精慕门2479394
2023-10-10
老师 想问下这里为什么 不能将allRecords 直接转化得到对应allAvailableFileIdList呢?有点不明白。 如下所示,为何不可以这样简化呢
List allAvailableFileIdList = allRecords.stream()
.map(RPanUserFile::getFileId)
.collect(Collectors.toList());
假设 有文件 a, B, b1,b2 (其中b1,b2 是文件B的子文件)现在删除文件a和B。 allRecords就是a, B,b1, b2
如果有.filter(record -> Objects.equals(record.getDelFlag(), DelFlagEnum.NO.getCode())) 那么allAvailableFileIdList就为b1,b2 然后allAvailableFileIdList.addAll(fileIdList); 又将a和B加入到allAvailableFileIdList 得到a, B,b1, b2。
写回答
1回答
-
因为这个是树结构的文件列表,有可能会有底层已经被删除的文件,所以先过滤掉所有的被删除的文件,在添加上当前被删除的文件ID,就是本次删除所有的影响文件的范围
012023-10-11
相似问题