list去除重复值的方法(面试高频)

不知道怎么最近找工作会遇到些人问list出现重复值去重的办法,目前自己就只想到了两个办法,欢迎高手指点!

1.首先第一个办法最简单的就是用 set ,set本身就是不能出现重复值的,所以他会自动去重。
实例:

  //创建一个集合写入重复数据
        ArrayList<Object> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("a");
        list.add("c");
        list.add("h");
        //创建一个Set
        HashSet<Object> set = new HashSet<>();
        //去除list中的重复数据   切记set添加集合用addAll
        set.addAll(list);
        //清空集合原来的数据
        list.clear();
        //把去重了的数据添加到list里面
        list.add(set);
        System.out.println(list);

list去除重复值的方法(面试高频)_第1张图片
2.第二个办法就是用循环来去除重复值

  //创建一个集合写入重复数据
        ArrayList<Object> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("a");
        list.add("c");
        list.add("h");
        //创建一个空集合用来去除原集合的重复值
        LinkedList linkedList = new LinkedList();
        //写一个循环和判断将重复值去除
        for (int i = 0; i < list.size(); i++) {
            //如果没有相等的元素才将list.get(i)的元素添加进空集合里面
            if (!linkedList.contains(list.get(i))){
                linkedList.add(list.get(i));
            }
        }
        System.out.println(linkedList);

list去除重复值的方法(面试高频)_第2张图片

你可能感兴趣的:(算法,list,面试,java)