在Java中,从文件列表中删除重复的文件

res*_*es1 1 java collections file duplicates

我有一份清单java.io.File。我想强制这个列表是唯一的。

将它们放入 HashSet 中是否正确?喜欢:

List<File> list = ...

List<File> newList = new ArrayList<File>(new HashSet<File>(list))
Run Code Online (Sandbox Code Playgroud)

或者有更好的方法吗?

art*_*ved 5

最好设置集合类型,以便任何阅读您代码的人都可以完全知道您正在处理一组独特的文件

List<File> list = ...

Set<File> files = new HashSet<File>(list);
Run Code Online (Sandbox Code Playgroud)

也会快一点。