在本节中,我们将演示如何从ArrayList中删除重复的元素。
- 在Java中,List是元素的顺序序列,Set是不同的元素列表序列。
- 通过将Arraylist转换为HashSet或LinkedHashSet,可以从列表中删除重复的元素。
以下是一些例子 –
文件:RemoveDuplicateFromList1.java –
package com.tutorial; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class RemoveDuplicateFromList1 { public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("One"); list.add("Two"); list.add("Three"); list.add("Three"); /* Duplicate Entry*/ list.add("Four"); list.add("Five"); list.add("Six"); list.add("Six"); /* Duplicate Entry*/ System.out.println("Before : "+list); Set<String> set=new HashSet<>(); for (String string : list) { set.add(string); } System.out.println("After : "+set); } }
在这个例子中,我们使用for-each
循环和HashSet的add方法来删除重复的元素。
执行上面示例代码,得到以下结果 –
Before : [One Two Three Three Four Five Six Six] After : [Five Six One Four Two Three]
文件:RemoveDuplicateFromList2.java –
package com.yiibai.tutorial; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class RemoveDuplicateFromList2 { public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("One"); list.add("Two"); list.add("Three"); list.add("Three"); /* Duplicate Entry*/ list.add("Four"); list.add("Five"); list.add("Six"); list.add("Six"); /* Duplicate Entry*/ System.out.println("Before : "+list); Set<String> set=new HashSet<>(list); System.out.println("After: "+set); } }
在这个例子中,使用HashSet的构造函数来删除重复的元素。执行上面示例代码,得到以下结果 –
Before : [One Two Three Three Four Five Six Six] After : [Five Six One Four Two Three]
文件:RemoveDuplicateFromList3.java –
package com.yiibai.tutorial; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; public class RemoveDuplicateFromList3 { public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("One"); list.add("Two"); list.add("Three"); list.add("Three"); /* Duplicate Entry*/ list.add("Four"); list.add("Five"); list.add("Six"); list.add("Six"); /* Duplicate Entry*/ System.out.println("Before : "+list); Set<String> set=new LinkedHashSet<>(list); System.out.println("After : "+set); } }
在这个例子中,使用LinkedHashSet的构造函数来删除重复的元素。LinkedHashSet保持元素的顺序与列表相同。
执行上面示例代码,得到以下结果 –
Before : [One Two Three Three Four Five Six Six] After : [One Two Three Four Five Six]
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/264157.html