在Java有多种方式可以实现集合去重,下面我就重点来详解常见的Java集合去重的方法@mikechen
1.使用Set集合去重
Set是Java中的一个接口,它的实现类,比如:HashSet、TreeSet等都是不允许元素重复的,因此,可以使用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面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》