这里我有包含重复值的列表。但我需要的是,列表不应包含重复值。我尝试了堆栈溢出的许多解决方案。但没有得到任何解决方案。下面的代码是我尝试过的代码之一。但我没有得到解决方案。
List<ReportsBean> list = rutils.getYearsReport(year);
list=========before=====5
LinkedHashSet<ReportsBean> lhs = new LinkedHashSet<ReportsBean>(list);
list.clear();
list.addAll(lhs);
list=========after=====5
在相同列表大小之前和之后5。 请任何人帮助我。
答案 0 :(得分:1)
我使用以下代码进行了测试,它就像一个魅力:
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "a"));
LinkedHashSet<String> lhs = new LinkedHashSet<>(list);
list.clear();
list.addAll(lhs);
System.out.println(list);
我会说equals()
的{{1}}方法没有或被错误地覆盖。 (顺便说一句。如果覆盖ReportsBean
,请不要忘记覆盖hashCode()
。