我是靠谱客的博主 轻松糖豆,最近开发中收集的这篇文章主要介绍java去除集合中的相同元素,Java 删除List中的重复元素,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本教程将向你演示如何删除List中的重复元素,删除List中重复元素的方法包括:纯Java实现、使用Java8 Lambda表达式、使用Guava。

1. 纯Java实现删除List中的重复元素

我们可以很容易的通过Java集合类——Set来实现该功能。

public void

givenListContainsDuplicates_whenRemovingDuplicatesWithPlainJava_thenCorrect() {

List listWithDuplicates = Lists.newArrayList(0, 1, 2, 3, 0, 0);

// 使用HashSet进行去重

List listWithoutDuplicates = new ArrayList<>(new HashSet<>(listWithDuplicates));

assertThat(listWithoutDuplicates, hasSize(4));

}

如你所见,该方法不会改变已有的List。

2. 使用Guava删除List中的重复元素

同样的功能也可以使用Guava来完成。

public void

givenListContainsDuplicates_whenRemovingDuplicatesWithGuava_thenCorrect() {

List listWithDuplicates = Lists.newArrayList(0, 1, 2, 3, 0, 0);

// 使用Guava,原理同上

List listWithoutDuplicates = Lists.newArrayList(Sets.newHashSet(listWithDuplicates));

assertThat(listWithoutDuplicates, hasSize(4));

}

同样,该方法也不会改变已有的List。

3. 使用Java 8的Stream + Lambda表达式删除重复元素

最后我们来看一下最新的解决方法,使用Java8的Stream + Lambda表达式来进行去重,Stream的distinct()方法可以基于元素的equlas方法实现去重:

public void

givenListContainsDuplicates_whenRemovingDuplicatesWithJava8_thenCorrect() {

List listWithDuplicates = Lists.newArrayList(1, 1, 2, 2, 3, 3);

// 使用Stream去重

List listWithoutDuplicates = listWithDuplicates.stream()

.distinct()

.collect(Collectors.toList());

}

至此,我们已经有了3个方法可用于删除List中的重复元素。

最后

以上就是轻松糖豆为你收集整理的java去除集合中的相同元素,Java 删除List中的重复元素的全部内容,希望文章能够帮你解决java去除集合中的相同元素,Java 删除List中的重复元素所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部