list集合去重和排序
Jdk8对集合按照元素的属性进行排序
Collections.sort(listJdk7,(s1,s2) ->s1.compareTo(s2));
根据元素属性,进行去重操作,不过这个会进行排序
List<Person> unique = persons.stream().collect( Collectors.collectingAndThen( Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getName))), ArrayList::new) );
如果不想排序,只是单纯去重,则可以:
HashMap<String,SchoolServiceModel>schoolServiceListUniqueMap=new HashMap<>();
schoolServiceModels.forEach(mo->{
if(!schoolServiceListUniqueMap.containsKey(mo.getDisplayAppName())){
schoolServiceListUniqueMap.put(mo.getDisplayAppName(),mo);
}
});
List<SchoolServiceModel> schoolServiceListUnique = schoolServiceListUniqueMap.values().stream()
.collect(Collectors.toList());
list的集合转数组:
List<String>strList=newArrayList<String>();
strList.add("aa");
strList.add("bb");
Object[]objs=strList.toArray();
String [] strs = (String[])strList.toArray(new String[0]);
注意:如果toArray中不传大小,则会报错
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
list集合去重和排序相关推荐
- java集合set不能去重_java集合去重和排序
1.去重 1.1 for循环去重 for (int i = 0; i list.remove(j); j--; } } } 测试结果: ,感觉还是有点用的,感觉循环次数太多了,不推荐使用. List ...
- Java Stream 流集合去重排序
文章目录 1. list去重 2. 根据对象中的某个字段进行list去重 3. 排序 4. 排序并去重 1. list去重 List<String> list = new ArrayLis ...
- TreeSet集合(自然排序和比较器排序)
TreeSet集合 自然排序和比较器排序 当指执行插入排序.希尔排序.归并排序等算法时,比较两个对象"大小"的比较操作.我们很容易理解整型的 i>j 这样的比较方式,但当 ...
- c++中std::set自定义去重和排序函数
c++中的std::set,是基于红黑树的平衡二叉树的数据结构实现的一种容器,因为其中所包含的元素的值是唯一的,因此主要用于去重和排序.这篇文章的目的在于探讨和分享如何正确使用std::set实现去重 ...
- 面试官:如何实现 List 集合去重?
作者 | 磊哥 来源 | Java面试真题解析(ID:aimianshi666) 转载请联系授权(微信ID:GG_Stone) 本文已收录<Java常见面试题>系列,开源地址:https: ...
- python数据库去重_python redis连接 有序集合去重的代码
python redis连接 有序集合去重的代码如下所述: # -*- coding: utf-8 -*- import redis from constant import redis_ip, re ...
- Python--几种set集合去重的方法
1.set集合的去重机制 ps: set集合在内部执行时,首先会先对对象执行hash算法,存储到内存空间, (但在同一次运行过程中两个值相等的对象hash值一样)所以如果两个对象值相等,这时会做出第二 ...
- java中给对象的List集合去重的几种方法(Lambda)
java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...
- C++数组去重与排序
一.整型数组去重与排序: [题目描述] 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把 ...
- 【Java】List集合去重的方式
List集合去重的方式 方式一:利用TreeSet集合特性排序+去重(有序) 方式二:利用HashSet的特性去重(无序) 方式三:利用LinkedHashSet去重(有序) 方式四:迭代器去重(无序 ...
最新文章
- 数字三角形问题 (动态规划初步)
- Linux网络编程 之 套接字(四)
- python学习之subprocess模块
- idea自动构建web项目_构建Web应用程序以自动执行系统管理员任务
- 9. Document getElementsByName() 方法
- Letters[Codeforces-43B]
- SunFMEA-基于AIAG-VDA-FMEA的风险管理工具
- QT6.1.2下载和安装教程
- midi是计算机合成音乐文件,多媒体音频详解.ppt
- Windows平台好用但小众软件推荐
- OOAD 3 迭代、进化和敏捷(Iterative,Evolutionary,and Agile)
- 一回来又恢复了往日的无聊生活
- 保密单位 计算机维修保密协议,计算机维修保密协议.doc
- hadoop的小疑问:Map执行未结束便开始执行Reduce操作?
- R语言epiDisplay包的kap函数计算配对列联表的计算一致性的比例以及Kappa统计量的值(总一致性、期望一致性)、使用xtabs函数生成二维列联表、使用wttable参数设置权重表参数为w2
- VMware(1):MacOS虚拟机无法设置自动调整大小(已解决)
- 肖锰:浪潮GS开发平台学习札记(一)——服务器端安装
- Daily Study
- 基于FFMpeg实现音频mp3/aac/wav解码
- mac鼠标滚动方向自然问题