当我们使用ArrayList集合存储元素时,有时候需要删除其中的重复元素。为此我们需要使用一些适当的方法。以下是两种Java删除ArrayList中重复元素的方法:
方法一: 使用LinkedHashSet
借助LinkedHashSet的特性,我们可以很容易实现重复元素的删除。该方法具体分为以下步骤:
- 创建一个ArrayList对象并添加需要删除重复元素的元素。
- 创建一个LinkedHashSet对象,并将ArrayList对象的元素添加到其中。
- 通过创建一个新的ArrayList对象,将上一步中LinkedHashSet对象的元素添加到其中。
- 将新的ArrayList对象返回。
示例代码:
import java.util.*;
public class RemoveDuplicateElements {
public static <T> ArrayList<T> removeDuplicates(ArrayList<T> list) {
LinkedHashSet<T> set = new LinkedHashSet<>(list);
list.clear();
list.addAll(set);
return list;
}
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(4);
list.add(3);
ArrayList<Integer> newList = removeDuplicates(list);
System.out.println(newList);
}
}
输出:[1, 2, 3, 4]
方法二:使用循环
使用循环可以遍历ArrayList中的所有元素,再根据元素是否重复,进行删除。该方法具体分为以下步骤:
- 创建一个ArrayList对象并添加需要删除重复元素的元素。
- 遍历ArrayList中的所有元素。
- 检查当前元素是否和ArrayList中前面的元素重复,如果重复则删除该元素。
- 将新的ArrayList对象返回。
示例代码:
import java.util.*;
public class RemoveDuplicateElements {
public static <T> ArrayList<T> removeDuplicates(ArrayList<T> list) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = i + 1; j < list.size(); j++) {
if (list.get(i).equals(list.get(j))) {
list.remove(j);
j--;
}
}
}
return list;
}
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(4);
list.add(3);
ArrayList<Integer> newList = removeDuplicates(list);
System.out.println(newList);
}
}
输出:[1, 2, 3, 4]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:2种Java删除ArrayList中的重复元素的方法 - Python技术站