List 去除重复数据的几种方法

Posted G_whang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List 去除重复数据的几种方法相关的知识,希望对你有一定的参考价值。

  • 使用LinkedHashSet
  • 使用jdk1.8新特性distinct
  • 利用List的contains方法循环遍历去重

代码如下

package com.example.demo.test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.stream.Collectors;

/**
 * list 去重
 */
public class ArrayListExample {

    public static void main(String[] args) {

        List<Integer> numberList=new ArrayList<Integer>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
        System.out.println(numberList);
        // 1.LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:删除重复数据,保持添加到其中的数据的顺序
        LinkedHashSet<Integer> linkedHashSet=new LinkedHashSet<>(numberList);
        System.out.println(linkedHashSet);
        // 2.使用java8新特性stream进行List去重
        List<Integer> collect = numberList.stream().distinct().collect(Collectors.toList());
        System.out.println(collect);
        // 3.利用List的contains方法循环遍历,重新排序,只添加一次数据,避免重复
        List<Integer> list = new ArrayList<Integer>();
        for (Integer number:numberList){
            if(!list.contains(number)){
                list.add(number);
            }
        }
        System.out.println(list);
    }

}

以上是关于List 去除重复数据的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

去除list集合中重复项的几种方法-转载

关于iOS去除数组中重复数据的几种方法

Js中去除数组中重复元素的几种方法

Js中去除数组中重复元素的几种方法

Python - 移除List中重复项的五种常用方法

Laravel:如何在控制器的几种方法中重用代码片段