zoukankan      html  css  js  c++  java
  • Java中List集合去除重复数据的方法

    • 循环list中的所有元素然后删除重复
      循环list中的所有元素然后删除重复
      总结:
      两层循环,外层循环从第一个元素向最后一个元素循环,内层循环是从最后一个元素向外层循环元素的当前元素循环。比较两个元素是否相等,如果相等,移除靠后的元素来进行去重。这种方法时间复杂度大于O(n),小于O(N²)

    • 通过HashSet剔除重复元素
      通过HashSet剔除重复元素
      总结:
      此种方式是利用了Set的特性:元素不可重复,其底层原理是先计算每个对象的hash值,再比较元素值是否相同,如果相同,则保留最新的。

    • 删除ArrayList中重复元素,保持顺序
      删除ArrayList中重复元素,保持顺序

    • 把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中
      把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中

    • 用JDK1.8 Stream中对List进行去重:list.stream().distinct();
      用JDK1.8 Stream中对List进行去重
      首先获得此list的Stream,然后调用distinct()方法。Java8中提供流的方式对数据进行处理,非常快,底层用的是forkJoin框架,提供了并行处理,使得多个处理器同时处理流中的数据,所以耗时非常短。


    作者:Oraclea
    链接:https://www.imooc.com/article/details/id/283664
    来源:慕课网

  • 相关阅读:
    css 定位
    css inline忽略宽和高
    css clear属性
    关系型数据库与nosql
    链接标签<a>的css定义规则
    1em=16px
    text-align的justify属性
    2393Cirno的完美算数教室 容斥
    bzoj4665小w的喜糖 dp+容斥
    bzoj4558[JLoi2016]方 容斥+count
  • 原文地址:https://www.cnblogs.com/sunice/p/14695581.html
Copyright © 2011-2022 走看看