在一些应用中,需要将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. 如2个List中存放了map<String,String>对象, 一个map是一个条数据库表记录,key是数据库表中的字段名,value是字段对应的值, map中操作时间的key_value, 需要将这2个List合并之后按map中的操作时间去排个序。。。。
//先用addAll将list连接起来,合成一个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集合框架提供了强大的工具来处理分组和排序,包括`List`接口的`sort()`方法和流API的`groupingBy()`和`sorted()`。在实际项目中,可以根据需求选择合适的方法。同时,`ArrayHelp`和`ClassLoadUtil`...
在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...
Java集合框架是编程中不可或缺的一部分,它提供了丰富的数据结构和操作接口,如List、Set、Map等。然而,有时候我们可能需要对集合数据进行更复杂的处理,比如分组,这时Guava库就显得非常有用。Guava是Google推出的...
在IT行业中,尤其是在Android开发领域,排序和分组数据是一项常见的任务。本示例"按拼音排序分组LIST"着重于展示如何在Android应用中实现一个列表(List),该列表中的元素按照汉字的拼音首字母从A到Z进行排序,并且...
在Java 8之前,我们通常使用`java.util.Date`和`java.text.SimpleDateFormat`来处理日期。然而,这些类存在一些设计上的问题,因此Java 8引入了新的日期时间API,包括`java.time.LocalDate`, `java.time....
在Java编程中,"按照每周分组"是一个常见的数据处理需求,特别是在数据分析、报表生成或者时间序列分析等场景。这个需求通常涉及到日期处理和集合分组。以下将详细讲解如何在Java中实现这一功能。 首先,我们需要...
Java8 Stream 自定义分组求和并排序的实现是 Java8 中一个非常重要的知识点,该知识点的实现可以帮助开发者快速地实现分组求和并排序的操作,从而提高开发效率和代码质量。 Java8 Stream 的主要特点是可以对集合...
这篇文章提供了一种使用Java 8中的Stream API和Collectors来实现List分组获取第一个元素的方法,该方法可以帮助开发者更好地处理大规模数据集。 知识点: * Java 8中的Stream API * Collectors.collectingAndThen...
在Java应用中,Aviator 特别适合用于数据分析和处理,例如对 List 中的数据进行求和、排序、找出最大值和最小值等操作。在给定的“aviator 实现 List 的求和、排序、最大、最小值”的主题中,我们将深入探讨如何利用...
计数排序的时间复杂度为O(n+k),其中k为整数范围,但其不能处理负数和浮点数。 以上就是Java中常见的八种排序算法,它们各有优缺点,适用于不同的场景。在实际开发中,开发者需要根据数据的特性、规模以及性能需求...
在Java编程中,创建、洗牌、分组和排序扑克牌是一种常见的算法实践,它可以用于理解和掌握数据结构、集合操作以及随机数生成等基础知识。在这个场景中,我们通常会使用集合框架来实现扑克牌的逻辑,例如ArrayList...
* 对传入的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 stream对List 分组,去重,自定义排序
Java lambda Stream List过滤筛选、排序、分组(Java进阶)
主要是介绍在 JDK8中使用 stream 流的 groupingBy 方法源进行最大值分组、最小值分组、平均值分组、统计分组
### Hibernate Criteria 分组、排序与关联查询详解 #### 标题与描述理解 - **标题**:“hibernate criteria 分组 排序 关联”这一标题明确了本文将围绕Hibernate Criteria API进行分组、排序以及关联查询的具体...
今天,我们将探讨如何使用 Lambda 处理 List 集合,主要涉及到遍历、转换为 Map、分组和过滤等操作。 遍历 List 集合 在 Java 8 之前,我们通常使用 for 循环或 Iterator 来遍历 List 集合。但是,使用 Lambda ...
在这个项目中,你还能学习到异常处理、文件存储(如使用`FileWriter`和`BufferedReader`保存和读取电话簿数据)以及测试驱动开发(TDD)等方面的知识。通过实践,你可以更好地理解Java编程语言的特性和面向对象编程...
在Java编程中,排序字符串列表是一项常见的任务,特别是在处理用户输入或者进行数据处理时。本应用专注于使用数组排序技术,将用户输入的字符串按照字母表顺序排列。下面将详细介绍实现这个功能所需的关键知识点。 ...
在Android开发中,...总之,Android中的ListView按字母分组排序功能需要对数据进行排序、构建索引,并自定义Adapter来展示这两部分信息。通过这样的设计,用户可以方便地浏览和查找城市列表,提升应用的用户体验。