list集合 去重的3个方法
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个方法相关推荐
- python list去重时间复杂度_List集合去重的一种方法 z
需要对一个List集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和HashSet都不是我想要的,便采用了一下方 ...
- java中给对象的List集合去重的几种方法(Lambda)
java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...
- List 集合去重的 3 种方法
问题由来 在实际开发的时候,我们经常会碰到这么一个困难:一个集合容器里面有很多重复的对象,里面的对象没有主键,但是根据业务的需求,实际上我们需要根据条件筛选出没有重复的对象. 比较暴力的方法,就是根据 ...
- List集合去重的一种方法
前一段时间们需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和Has ...
- Java List<T>去重方法,引用类型集合去重
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.实体类中要重写比较方法equals,最好也重写hashcode方法 public class W ...
- Python--几种set集合去重的方法
1.set集合的去重机制 ps: set集合在内部执行时,首先会先对对象执行hash算法,存储到内存空间, (但在同一次运行过程中两个值相等的对象hash值一样)所以如果两个对象值相等,这时会做出第二 ...
- List集合去重方法
实体类 ZcChange 根据 ZcChange实体类中的name字段进行去重 调用test的方法 返回一个去重后的list集合 /*对象去重*/ public static List<ZcC ...
- c#对象集合去重_C# List集合去重操作注意点
今天调试代码时发现list的distinct方法在对引用类型操作时并没有去重,后来查阅资料发现list去重操作对象集合时比较的是对象的一个个引用地址, 因为集合里的对象都是一个个单独的实例,所以并不会 ...
- list contains方法_Java中给List去重的5种方法,谁的效率更高?
刚开始学习list的时候就学习了在list集合中如何去除重复数据,当时第一想到的就是通过循环判断来去除重复数据,后来慢慢接触的东西多了,就开始注重一个效率,当数据量巨大的时候,怎么样才能查的更快,怎样 ...
最新文章
- 笔记本电脑显卡cuda_准大学生必看~千万别乱买,建议不同专业选择不同款式的笔记本电脑!...
- EBS 抓trace 文件
- Mediasoup简介及其基本概念
- JS---捕捉URL地址,以及模仿GET方法
- jvm垃圾回收机制_干货|JVM垃圾回收机制
- EfficientNetV2:训练速度快了5~10x,更小,更快,精度更高的EfficientNet
- SpringMVC 方法三种类型返回值总结,你用过几种?
- 离线语音识别软件_6.语音板使用科大讯飞离线命令词识别
- SQLite3数据库
- 一分钟先生: 程序员面试真经
- Windows PowerShell 使用SDKMAN
- 面试知识点-网络——HTTP与TLS
- BUUCTF WEB Havefun
- Yuan先生博客-Django进阶
- vue子路由跳转问题
- 我,大二实习,996,月工资800
- 傲游浏览器5241android,傲游浏览器Android手机版收藏夹应用
- 电脑故障开不了机,发出一长两短报警声
- appium环境安装-控制抖音app滑动
- 【上网技巧】 - 如何在播放视频的时候显示「实时字幕」呢?
热门文章
- android p一加6好吗,一加6T出厂便搭载Android P,你期不期待?
- 拼多多和国家电网,选哪个?
- 基于wxWidgets(wxWindows)界面开发解方案!
- 游戏《部落战争》clash of clans 就是残酷世界的真实写照
- CCleaner选择要保存的Cookies设置
- 第32件事 用户研究之社会流动性分析
- mysql rows_sent_MySQL慢查询日志释疑总结
- 获取sessionID的步骤
- WAL (Write-Ahead Logging )
- java arraydeque_Java 容器源码分析之 Deque 与 ArrayDeque