import java.util.*;
import java.util.stream.Collectors;/*** 集合去重方法*/
public class CollectionDistinct {public static void main(String[] args) {List list = Arrays.asList(1, 2, 3, 4, 5, 6, 1, 5, 5);list.forEach(i -> System.out.print(i + " "));System.out.println(" - 原集合");HashSetDistinct(list).forEach(System.out::print);System.out.println(" - 通过HashSet自动去重");SteamDistinct(list).forEach(System.out::print);System.out.println(" - 使用steam去重");ListContainsDistinct(list).forEach(System.out::print);System.out.println(" - 使用list contains去重");}/*** 使用 steam 去重(需要 Java 1.8或以上)** @param data* @return*/static List SteamDistinct(List data) {return (List) data.stream().distinct().collect(Collectors.toList());}/*** 通过 HashSet 自动去重** @param data* @return*/static List HashSetDistinct(List data) {List list = new ArrayList();list.addAll(new HashSet<>(data));return list;}/*** 使用 list contains 判断去重** @param data* @return*/static List ListContainsDistinct(List data) {List list = new ArrayList();for (Object datum : data) {if (!list.contains(datum)) list.add(datum);}return list;}}

list集合 去重的3个方法相关推荐

  1. python list去重时间复杂度_List集合去重的一种方法 z

    需要对一个List集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和HashSet都不是我想要的,便采用了一下方 ...

  2. java中给对象的List集合去重的几种方法(Lambda)

    java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...

  3. List 集合去重的 3 种方法

    问题由来 在实际开发的时候,我们经常会碰到这么一个困难:一个集合容器里面有很多重复的对象,里面的对象没有主键,但是根据业务的需求,实际上我们需要根据条件筛选出没有重复的对象. 比较暴力的方法,就是根据 ...

  4. List集合去重的一种方法

    前一段时间们需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和Has ...

  5. Java List<T>去重方法,引用类型集合去重

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.实体类中要重写比较方法equals,最好也重写hashcode方法 public class W ...

  6. Python--几种set集合去重的方法

    1.set集合的去重机制 ps: set集合在内部执行时,首先会先对对象执行hash算法,存储到内存空间, (但在同一次运行过程中两个值相等的对象hash值一样)所以如果两个对象值相等,这时会做出第二 ...

  7. List集合去重方法

    实体类 ZcChange 根据 ZcChange实体类中的name字段进行去重  调用test的方法 返回一个去重后的list集合 /*对象去重*/ public static List<ZcC ...

  8. c#对象集合去重_C# List集合去重操作注意点

    今天调试代码时发现list的distinct方法在对引用类型操作时并没有去重,后来查阅资料发现list去重操作对象集合时比较的是对象的一个个引用地址, 因为集合里的对象都是一个个单独的实例,所以并不会 ...

  9. list contains方法_Java中给List去重的5种方法,谁的效率更高?

    刚开始学习list的时候就学习了在list集合中如何去除重复数据,当时第一想到的就是通过循环判断来去除重复数据,后来慢慢接触的东西多了,就开始注重一个效率,当数据量巨大的时候,怎么样才能查的更快,怎样 ...

最新文章

  1. 笔记本电脑显卡cuda_准大学生必看~千万别乱买,建议不同专业选择不同款式的笔记本电脑!...
  2. EBS 抓trace 文件
  3. Mediasoup简介及其基本概念
  4. JS---捕捉URL地址,以及模仿GET方法
  5. jvm垃圾回收机制_干货|JVM垃圾回收机制
  6. EfficientNetV2:训练速度快了5~10x,更小,更快,精度更高的EfficientNet
  7. SpringMVC 方法三种类型返回值总结,你用过几种?
  8. 离线语音识别软件_6.语音板使用科大讯飞离线命令词识别
  9. SQLite3数据库
  10. 一分钟先生: 程序员面试真经
  11. Windows PowerShell 使用SDKMAN
  12. 面试知识点-网络——HTTP与TLS
  13. BUUCTF WEB Havefun
  14. Yuan先生博客-Django进阶
  15. vue子路由跳转问题
  16. 我,大二实习,996,月工资800
  17. 傲游浏览器5241android,傲游浏览器Android手机版收藏夹应用
  18. 电脑故障开不了机,发出一长两短报警声
  19. appium环境安装-控制抖音app滑动
  20. 【上网技巧】 - 如何在播放视频的时候显示「实时字幕」呢?

热门文章

  1. android p一加6好吗,一加6T出厂便搭载Android P,你期不期待?
  2. 拼多多和国家电网,选哪个?
  3. 基于wxWidgets(wxWindows)界面开发解方案!
  4. 游戏《部落战争》clash of clans 就是残酷世界的真实写照
  5. CCleaner选择要保存的Cookies设置
  6. 第32件事 用户研究之社会流动性分析
  7. mysql rows_sent_MySQL慢查询日志释疑总结
  8. 获取sessionID的步骤
  9. WAL (Write-Ahead Logging )
  10. java arraydeque_Java 容器源码分析之 Deque 与 ArrayDeque