Java集合去重详解(3种常见去重方式)

Java集合去重详解(3种常见去重方式)-mikechen

在Java有多种方式可以实现集合去重,下面我就重点来详解常见的Java集合去重的方法@mikechen

1.使用Set集合去重

Set是Java中的一个接口,它的实现类,比如:HashSetTreeSet等都是不允许元素重复的,因此,可以使用Set集合去重。

如下所示:

List<Integer> list = Arrays.asList(1, 2, 3, 2, 1, 4);
Set<Integer> set = new HashSet<>(list);
List<Integer> newList = new ArrayList<>(set);

因为HashSet是不允许元素重复的,因此可以去重。

 

2.使用Stream去重

Java 8引入了Stream API,通过Stream可以轻松地实现集合去重。

如下所示:

List<Integer> list = Arrays.asList(1, 2, 3, 2, 1, 4);
List<Integer> newList = list.stream().distinct().collect(Collectors.toList());

使用Stream的distinct()方法,可以去除重复元素。

 

3.使用Guava库去重

Guava是Google开源的一个Java工具库,其中提供了许多常用的工具类和方法。其中就包括去重工具类。

如下所示:

List<Integer> list = Arrays.asList(1, 2, 3, 2, 1, 4);
List<Integer> newList = Lists.newArrayList(Sets.newHashSet(list));

上述三种方法都可以实现Java集合去重,更多Java集合,请查看:Java集合(万字图文全面详解)

 

mikechen睿哥

mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法