📌  相关文章
📜  从Java中的ArrayList中删除重复的元素(1)

📅  最后修改于: 2023-12-03 15:06:33.102000             🧑  作者: Mango

从Java中的ArrayList中删除重复的元素

在Java中,我们可以使用ArrayList来存储数据。但是,有时候我们需要从ArrayList中删除重复的元素。本文将介绍多种方法来实现这一目的。

方法一:使用LinkedHashSet

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]
方法二:使用stream

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文件中使用。