Java8 Stream流List<JSONObject>通过某一属性进行排序

这篇具有很好参考价值的文章主要介绍了Java8 Stream流List<JSONObject>通过某一属性进行排序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

//List<JSONObject>排序
List <JSONObject> list =  new ArrayList<>();
/*排序 下面 需要满足JDK1.8及以上*/
list.sort(Comparator.comparing(x -> x.getInteger("update_time")));//正常排序
list.stream().sorted(Comparator.comparing(x -> x.getString("update_time"))).collect(Collectors.toList());

//按更新时间倒序
list.sort(Comparator.comparing(obj -> ((JSONObject) obj).getInteger("update_time")).reversed());

/*返回一个map集合,key代表组名,value代表该组中的数据,做分组*/
Map<String, List<JSONObject>> map = list.stream().collect(Collectors.groupingBy(x -> x.getString("test")));

List<JSONObject> lists = map .keySet().stream().map(key -> {
	JSONObject Object= new JSONObject(true);
	Object.put("key",key);
	Object.put("value",value);
	System.out.println(Object);
	return Object;
}).collect(Collectors.toList());
/*排序*/
lists .sort(Comparator.comparing(x -> x.getString("test")));

List<对象>
1.首先你需要list.parallelStream().sorted 进行流处理,使用parallelStream可以充分调度多核CPU。
2.使用Comparator.comparing进行排序,reversed()进行倒序排列,thenComparing进行下一个排序。
3.Comparator.comparing()里面的内容,也是就是Object::getter,例如Test::getName
4.最后格式化为需要的格式 List 是.collect(Collectors.toList()) , Map 是.collect(Collectors.toMap(Test::getKey, Test::getValue))
 文章来源地址https://www.toymoban.com/news/detail-532688.html

Test::getValue))
list = list.parallelStream().sorted(
		Comparator.comparing(Test::getAllCounter).reversed().thenComparing(Test::getKeyword)
).collect(Collectors.toList());

到了这里,关于Java8 Stream流List<JSONObject>通过某一属性进行排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java8 List<Object> 转成 List<JSONObject>

       Java8 List<Object> 转成 List<Map<String, Object>>

    2024年02月16日
    浏览(39)
  • 使用java8 新特性stream流对List<Map<String, Object>>集合进行遍历、过滤、查询、去重、排序、分组

    对于一个ListMapString, Object类型的数据,可以使用Java 8的新特性stream流来进行遍历、过滤、查询、去重、排序、分组等操作。 遍历: 过滤: 查询: 去重: 排序: 分组:

    2024年02月10日
    浏览(69)
  • JAVA8中list.stream()的一些简单使用

    为函数式编程而生。对stream的任何修改都不会修改背后的数据源,比如对stream执行过滤操作并不会删除被过滤的元素,而是会产生一个不包含被过滤元素的新stream。 stream上的操作并不会立即执行,只有等到用户真正需要结果的时候才会执行。 stream只能被使用一次,一旦遍历

    2024年02月03日
    浏览(45)
  • Java8-使用stream.sorted()对List排序

    1.流的定义 Stream 中文称为 “流”,通过将集合转换为这么一种叫做 “流” 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的操作! 如果流中的元素的类实现了 Comparable 接口,即有自己的排序规则,那么可以直接调用 sorted() 方法对元素进行排

    2024年02月16日
    浏览(56)
  • Java8使用Stream流实现List列表简单使用

       目录 1.forEach() 2.filter(T - boolean) 3.findAny()和findFirst() 4.map(T - R) 和flatMap(T - stream) 5.distinct() 去重 6.limit(long n)和skip(long n)  7.anyMatch(T - boolean) 8.allMatch(T - boolean) 9.noneMatch(T - boolean) Java8提供了Stream(流)处理集合的关键抽象概念,Stream 使用一种类似用 SQL 语句从数据库查询数

    2023年04月27日
    浏览(91)
  • Java8 list多属性去重

    大家好,我是三叔,很高兴这期又和大家见面了,一个奋斗在互联网的打工人。 在 Java 开发中,我们经常会面临对 List 中的对象属性去重的需求。然而,当需要根据多个属性来进行去重时,情况会稍微复杂一些。本篇博客将深入探讨如何使用 Java 8 的 Stream API 来实现 List 多属

    2024年02月14日
    浏览(101)
  • java8 List根据元素对象属性去重

    1.使用Collectors.collectingAndThen链式去重 代码: main: 结果: 或者可以利用map也可以: 或: 或者不用链式也可以分开: Collectors.collectingAndThen()  函数应该最像  map and reduce  了, 它可接受两个参数,第一个参数用于  reduce 操作,而第二参数用于  map 操作 。 也就是, 先把流中

    2024年02月12日
    浏览(69)
  • java 对象List中对象的某一属性重新赋值

    描述: 在我们开发过程中经常会遇到在拿到一个对象list集合的时候回对某一个字段重新赋值,比如:在无任务下面的若干子任务,开始执行主任务对子任务的状态统一设置待执行。这个时候就需要使用 Java8 stream 或者 List forEach 这两种方式来实现,方便快捷,也不需要再遍历

    2024年02月12日
    浏览(57)
  • 【Java基础】Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)

    本篇主要说明在Java8及以上版本中,使用stream().filter()来过滤List对象,查找符合条件的集合。 集合对象以学生类(Student)为例,有学生的基本信息,包括:姓名,性别,年龄,身高,生日几项。 我的学生类代码如下: 下面来添加一些测试用的数据,代码如下: 添加过滤条件

    2024年02月12日
    浏览(68)
  • Java8使用stream流给List<Map<String,Object>>分组(多字段key)

    Java8使用 stream流 给ListMapString,Object根据字段key 分组 一、项目场景: 从已得到的List集合中,根据某一元素(这里指map的key)进行分组,筛选出需要的数据。 如果是SQL的话则使用 group by 直接实现,代码的方式则如下: 使用到stream流的 Collectors.groupingBy() 方法。 二、代码实现 1、首

    2024年02月02日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包