欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2023-12-27 16:35:39
...
  • 使用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);
    }

}
相关标签: 新星计划 java

上一篇:

下一篇: