Day7-Java中如何去掉List集合中重复的元素

简介: 在Java面试题中面试官常常会问这样一道题:如何去掉List集合中重复的元素?通常我们知道list集合里面是无序的,并可以出现重复元素,set集合是不可以出现重复元素。解决上面的问题,我给出两种解决方案

在Java面试题中面试官常常会问这样一道题:如何去掉List集合中重复的元素?

通常我们知道list集合里面是无序的,并可以出现重复元素,set集合是不可以出现重复元素。解决上面的问题,我给出两种解决方案


方案一:使用set集合

方案二:通过jdk8提供的stream流的方式去重

见代码:

public class TestStream {
    public static void main(String[] args) {
//        问题:如何去掉List集合中重复的元素
        List<String> words = Arrays.asList("a","b","c","c","d","e","e","g","f");
        //        方案一:使用set集合
        Set<String> set = new HashSet<>();
        for (String word : words){
            set.add(word);
        }
        for (String word : set){
            System.out.println(word);
        }
        System.out.println("--------------------");
        //        方案二:通过jdk8提供的stream流的方式去重
        words.stream()//将list集合准换成stream流
                .distinct()//去重
                .collect(Collectors.toList())//将流转化为list集合
                .forEach(System.out::println);//循环打印
    }
}

运行结果:

a
b
c
d
e
f
g
--------------------
a
b
c
d
e
g
f

上面两种方案对比起来,方案二代码更简洁。

相关文章
|
7天前
|
安全 Java 大数据
|
1天前
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
8 2
|
2天前
|
安全 Java
循环的时候去删除集合中的元素 java.util.ConcurrentModificationException
循环的时候去删除集合中的元素 java.util.ConcurrentModificationException
|
3天前
|
Java
java Map删除值为null的元素
java Map删除值为null的元素
|
3天前
|
Java API
【亮剑】Java的List,如何删除重复的元素,教你三个方法搞定!
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
|
6天前
|
算法 安全 搜索推荐
Java集合常见工具类
Java集合常见工具类
6 0
|
Java Apache
Java 中 List 分片的 5 种方法!(5)
Java 中 List 分片的 5 种方法!(5)
251 0
Java 中 List 分片的 5 种方法!(5)
|
Java
Java 中 List 分片的 5 种方法!(4)
Java 中 List 分片的 5 种方法!(4)
373 0
Java 中 List 分片的 5 种方法!(4)
|
Java
Java 中 List 分片的 5 种方法!(3)
Java 中 List 分片的 5 种方法!(3)
504 0
Java 中 List 分片的 5 种方法!(3)
|
Java
Java 中 List 分片的 5 种方法!(2)
Java 中 List 分片的 5 种方法!(2)
352 0
Java 中 List 分片的 5 种方法!(2)