`
liyuandong
  • 浏览: 332124 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java List分组和排序处理

    博客分类:
  • JAVA
阅读更多

在一些应用中,需要将List中的对象按某种情况分组或者排序处理。做个小结如下:

 

1.       如一个List中存放了ProductDoing对象,productDoing对象有rawTypeId 现在要求将rawTypeId分组处理。

 

先用Map找出list中所有的分组:

 

//原料类型组

Map<Integer,String> groups = new HashMap<Integer,String>();

for(ProductDoingVo pd : products){

       groups.put(pd.getRawTypeId(),"");//这里并没有将该组的数据存入,看自己的需求吧

}

 

接下来就可以对已知的分组处理。

for(Integer rawTypeId : groups.keySet()){

for(ProductDoingVo pd : products){

   if(rawTypeId.equals(pd.getRawTypeId())){

              //处理该组的数据

     }

}

}

 

2.    2List中存放了map<String,String>对象, 一个map是一个条数据库表记录,key是数据库表中的字段名,value是字段对应的值, map中操作时间的key_value, 需要将这2List合并之后按map中的操作时间去排个序。。。。

 

//先用addAlllist连接起来,合成一个List

List result = new ArrayList();  

Collections.addAll(result, a);//假设a b即为那两个list  

Collections.addAll(result, b); 

 

//实现一个Comparator就好了,根据map中的操作时间来排序

   Collections.sort(result, new Comparator<Map>()  

      {  

            public int compare(Map o1, Map o2) {  

               Date date1 = (Date)o1.get("trackdatetime");  

               Date date2 = (Date)o2.get("trackdatetime");  

              return date1.compareTo(date2);  

          }  

}); 

 

 

分享到:
评论

相关推荐

    java 集合分组与排序

    总结来说,Java集合框架提供了强大的工具来处理分组和排序,包括`List`接口的`sort()`方法和流API的`groupingBy()`和`sorted()`。在实际项目中,可以根据需求选择合适的方法。同时,`ArrayHelp`和`ClassLoadUtil`...

    Java对List多个排序、查询条件的处理

    在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...

    java集合分组(Guava)

    Java集合框架是编程中不可或缺的一部分,它提供了丰富的数据结构和操作接口,如List、Set、Map等。然而,有时候我们可能需要对集合数据进行更复杂的处理,比如分组,这时Guava库就显得非常有用。Guava是Google推出的...

    按拼音排序分组LIST

    在IT行业中,尤其是在Android开发领域,排序和分组数据是一项常见的任务。本示例"按拼音排序分组LIST"着重于展示如何在Android应用中实现一个列表(List),该列表中的元素按照汉字的拼音首字母从A到Z进行排序,并且...

    java使用stream对日期排序

    在Java 8之前,我们通常使用`java.util.Date`和`java.text.SimpleDateFormat`来处理日期。然而,这些类存在一些设计上的问题,因此Java 8引入了新的日期时间API,包括`java.time.LocalDate`, `java.time....

    java 按照每周分组

    在Java编程中,"按照每周分组"是一个常见的数据处理需求,特别是在数据分析、报表生成或者时间序列分析等场景。这个需求通常涉及到日期处理和集合分组。以下将详细讲解如何在Java中实现这一功能。 首先,我们需要...

    java8 stream自定义分组求和并排序的实现

    Java8 Stream 自定义分组求和并排序的实现是 Java8 中一个非常重要的知识点,该知识点的实现可以帮助开发者快速地实现分组求和并排序的操作,从而提高开发效率和代码质量。 Java8 Stream 的主要特点是可以对集合...

    JAVA JDK8 List分组获取第一个元素的方法

    这篇文章提供了一种使用Java 8中的Stream API和Collectors来实现List分组获取第一个元素的方法,该方法可以帮助开发者更好地处理大规模数据集。 知识点: * Java 8中的Stream API * Collectors.collectingAndThen...

    aviator 实现 List 的求和、排序、最大、最小值

    在Java应用中,Aviator 特别适合用于数据分析和处理,例如对 List 中的数据进行求和、排序、找出最大值和最小值等操作。在给定的“aviator 实现 List 的求和、排序、最大、最小值”的主题中,我们将深入探讨如何利用...

    java常见八种排序算法

    计数排序的时间复杂度为O(n+k),其中k为整数范围,但其不能处理负数和浮点数。 以上就是Java中常见的八种排序算法,它们各有优缺点,适用于不同的场景。在实际开发中,开发者需要根据数据的特性、规模以及性能需求...

    java扑克牌的创建、洗牌、分组、排序

    在Java编程中,创建、洗牌、分组和排序扑克牌是一种常见的算法实践,它可以用于理解和掌握数据结构、集合操作以及随机数生成等基础知识。在这个场景中,我们通常会使用集合框架来实现扑克牌的逻辑,例如ArrayList...

    按照规则,对list排序

    * 对传入的list进行分组排序 * list里面数据格式 [01-01-开头.txt, 01-02-简介.jpg, 11-01-尾声.jpg, 11-03-空白.jpg, 11-04-空白2.jpg, 11-06-空白1.jpg, 11-02-答谢语.txt, 02-01-标题.jpg, 02-09-标题555.jpg, ...

    java8 List 实用方法App.java

    实用方法,使用java8 stream对List 分组,去重,自定义排序

    Java lambda Stream List过滤筛选、排序、分组(Java进阶).md

    Java lambda Stream List过滤筛选、排序、分组(Java进阶)

    java1.8 中 stream 的 groupingBy 最大值、最小值分组

    主要是介绍在 JDK8中使用 stream 流的 groupingBy 方法源进行最大值分组、最小值分组、平均值分组、统计分组

    hibernate criteria 分组 排序 关联

    ### Hibernate Criteria 分组、排序与关联查询详解 #### 标题与描述理解 - **标题**:“hibernate criteria 分组 排序 关联”这一标题明确了本文将围绕Hibernate Criteria API进行分组、排序以及关联查询的具体...

    java8如何通过Lambda处理List集合

    今天,我们将探讨如何使用 Lambda 处理 List 集合,主要涉及到遍历、转换为 Map、分组和过滤等操作。 遍历 List 集合 在 Java 8 之前,我们通常使用 for 循环或 Iterator 来遍历 List 集合。但是,使用 Lambda ...

    java课程设计--个人电话簿(增删查改排序等)

    在这个项目中,你还能学习到异常处理、文件存储(如使用`FileWriter`和`BufferedReader`保存和读取电话簿数据)以及测试驱动开发(TDD)等方面的知识。通过实践,你可以更好地理解Java编程语言的特性和面向对象编程...

    java 按照字母表顺序排列字符串列表

    在Java编程中,排序字符串列表是一项常见的任务,特别是在处理用户输入或者进行数据处理时。本应用专注于使用数组排序技术,将用户输入的字符串按照字母表顺序排列。下面将详细介绍实现这个功能所需的关键知识点。 ...

    Android ListView城市列表,按a-z分组字母索引排序

    在Android开发中,...总之,Android中的ListView按字母分组排序功能需要对数据进行排序、构建索引,并自定义Adapter来展示这两部分信息。通过这样的设计,用户可以方便地浏览和查找城市列表,提升应用的用户体验。

Global site tag (gtag.js) - Google Analytics