📅  最后修改于: 2023-12-03 15:06:33.102000             🧑  作者: Mango
在Java中,我们可以使用ArrayList来存储数据。但是,有时候我们需要从ArrayList中删除重复的元素。本文将介绍多种方法来实现这一目的。
LinkedHashSet是一个HashSet子类,它可以保持元素的插入顺序。我们可以使用它来去除ArrayList中的重复元素。
ArrayList<Integer> numbers = new ArrayList<Integer>(Arrays.asList(1, 2, 3, 2, 4, 4, 5));
LinkedHashSet<Integer> hashSet = new LinkedHashSet<>(numbers);
ArrayList<Integer> numbersWithoutDuplicates = new ArrayList<>(hashSet);
System.out.println(numbersWithoutDuplicates);
输出结果:
[1, 2, 3, 4, 5]
Java 8中的Stream API提供了一种简洁的方法来去除ArrayList中的重复元素。
ArrayList<Integer> numbers = new ArrayList<Integer>(Arrays.asList(1, 2, 3, 2, 4, 4, 5));
ArrayList<Integer> numbersWithoutDuplicates = numbers.stream()
.distinct()
.collect(Collectors.toCollection(ArrayList::new));
System.out.println(numbersWithoutDuplicates);
输出结果:
[1, 2, 3, 4, 5]
使用循环的方法是最传统的方法,也是最易懂的方法。我们可以循环遍历ArrayList,逐一检查每个元素是否已出现过。
ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 2, 4, 4, 5));
ArrayList<Integer> numbersWithoutDuplicates = new ArrayList<>();
for (Integer number : numbers) {
if (!numbersWithoutDuplicates.contains(number)) {
numbersWithoutDuplicates.add(number);
}
}
System.out.println(numbersWithoutDuplicates);
输出结果:
[1, 2, 3, 4, 5]
以上是三种不同的方法,用于从Java中的ArrayList中删除重复的元素。根据你的具体需求,你可以选择其中的任何一个方法。
以上代码片段基于markdown格式,可直接复制到markdown文件中使用。