我有一个包含重复值的列表。
List<valFile> isList = valBo.findId();
isList的值类似于{100,100,100,102,105,105}
我想删除这些重复项,并使用相同的列表,没有重复项。我试过设置,但不知道如何使用相同的列表,没有重复。
答案 0 :(得分:1)
创建LinkedHashSet
以维护订单并添加列表中的所有项目。重复项将被丢弃:
Set<valFile> set = new LinkedHashSet<valFile>(isList);
然后将其添加回列表:
List<valFile> listWithoutDuplicates = new ArrayList<valFile>(set);
答案 1 :(得分:1)
我会使用一个集合并转储回列表。
List<valFile> unique = new ArrayList<valFile>(new HashSet<valFile>(islist));
Collections.sort(unique);
或者如果你有一个好的比较器,你可以使用TreeSet
Set<valFile> unique = new TreeSet<valFile>(isList);
如果你绝对必须使用相同的列表(也许是因为某处有其他参考),你最好的办法是清除它。
List<valFile> unique = new ArrayList<valFile>(new HashSet<valFile>(islist));
Collections.sort(unique);
isList.clear();
isList.addAll(unique);