从数组列表中删除重复的元素

Sam*_*age 2 java arraylist

在我的程序中,我有一个包含产品对象的数组列表.我想从中删除重复的产品对象.除了循环每个元素并比较它们之外,还有其他有效的方法吗?

小智 10

只需将所有元素添加到set.它不会允许重复的值

   List<Product> list=new ArrayList<>();
   Set<Product> set=new HashSet<>();
   set.addAll(list);
Run Code Online (Sandbox Code Playgroud)


Ruc*_*era 5

你可以把元素放进去Set.设置仅保留唯一值.

   List<String> list=new ArrayList<>();
   Set<String> set=new HashSet<>();
   set.addAll(list); // now you have unique value set
Run Code Online (Sandbox Code Playgroud)

如果你想最终结果为唯一的价值List就是你需要得到这个Set作为List

   List<String> uniqueValList=new ArrayList<>(set);
Run Code Online (Sandbox Code Playgroud)


Sur*_*tta 5

只需将列表Collection传递给Hashset构造函数并将其取回.

然后那个衬里将,

list = new ArrayList<E>(new HashSet<E>(list));
Run Code Online (Sandbox Code Playgroud)