关于Collections.sort(List list,Comparator comparator) 的说明
Comparator是个接口,主要比的是两个对象,比较规则是你自己写的
,可以重写他的compare()和equals()这两个方法,也就是说比较的方法,如果是null的话,就是使用元素的自然顺序,如1,2,4,5,9,8,7,就是1,2,4,5,7,8,9这样,字母也可以
compare(a,b)方法:根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数
例如:
package com.csair.cbd.fraud;
import java.util.Comparator;
import com.csair.cbd.marketing.services.dto.ExchangeDto;
public class ExchangerComparator implements Comparator<ExchangeDto> {
public int compare(ExchangeDto ex1, ExchangeDto ex2) {
int result = 0;
long extime1 = ex1.getIeOrderAward().getExchangeTime().getTime();
long extime2 = ex2.getIeOrderAward().getExchangeTime().getTime();
if(extime1 > extime2)
{
result = 1;
}
else if(extime1 == extime2)
{
long checktime1 = ex1.getIeOrderAward().getCheckTime().getTime();
long checktime2 = ex2.getIeOrderAward().getCheckTime().getTime();
if(checktime1 > checktime2)
{
result = 1;
}
else if(checktime1 == checktime2)
{
result = 0;
}
else
{
result = -1;
}
}
else
{
result = -1;
}
return result;
}
}
再写一个测试类调用以下代码:
private List<ExchangeDto> exchangeList;
private Page<ExchangeDto> exchangePage;
exchangePage = exchangeService.queryExchange(edto,pageIndex,pageSize);
exchangeList = exchangePage.getResult();
//按扣减时间表 ,审核时间进行排序
Comparator<ExchangeDto> exchangeComparator = new ExchangerComparator();
Collections.sort(exchangeList, exchangeComparator);
分享到:
相关推荐
总结,Java中的分页查询涉及数据库操作、SQL构造和Java代码实现。理解分页原理和数据库分页语法,掌握JDBC基本用法,再根据实际需求选择是否使用框架进行优化,是实现高效分页查询的关键。无论是在MySQL还是SQL ...
以上就是Java中实现数据分页显示的关键点,涉及数据库查询、参数传递、前端渲染等多个环节。实践中,我们需要结合具体的应用场景和性能需求,选择合适的方法和工具来实现高效、友好的分页功能。
在Java项目中,分页是常见的数据查询需求,特别是在大数据量的场景下,如ClickHouse数据库的使用。PageHelper是一个非常流行的MyBatis插件,它提供了强大的分页功能,但有时我们可能出于某些原因不希望引入额外的...
在Java EE应用开发中,分页功能是必不可少的,它能有效地提高用户体验,尤其是在处理大量数据时。本教程将引导你了解如何使用Spring MVC和MyBatis框架来实现这一功能。Spring MVC作为控制层,负责处理请求和响应,而...
本篇文章将详细探讨如何使用Java实现一个分页工具类,以及在实际应用中如何运用这个工具。 首先,分页的基本概念是通过指定每页显示的数据量(每页记录数,即pageSize)和当前页数(pageNumber),从数据库中获取...
在这个"MySQL_数据库实现的JAVA_分页实例"中,我们将探讨如何在Java后端实现对MySQL数据库的分页查询,这对于大数据量的展示和优化用户体验至关重要。 首先,理解分页的基本概念:分页是将大量数据分为多个小部分,...
本篇将重点介绍在Java环境中,如何通过三种不同的方式来实现分页功能。 首先,我们来看看什么是分页。分页是将大量数据分成若干小部分,每次只显示一部分,用户可以通过翻页来查看更多的数据。在Web开发中,分页...
Java中的数字分页是Web应用开发中常见的需求,特别是在大数据量的展示场景下,为了提高用户体验,需要将数据分批次加载。Struts2框架作为Java Web开发中的热门选择,提供了强大的分页支持。本主题主要讲解如何在...
本篇将详细介绍如何在Java中实现面向对象的分页功能。 首先,我们需要理解分页的基本要素。分页主要包括当前页数、每页显示的记录数(页大小)、总记录数以及总页数。在面向对象的设计中,我们可以创建一个`Page`类...
在Java开发领域,Spring和...通过合理运用`Pageable`、`Sort`等工具,结合数据库层面的优化,我们可以构建出高效、易用的分页排序系统。在实际项目中,结合前端技术,如Vue.js或React,可以进一步提升用户体验。
2. **封装Page对象**:为方便操作,我们可以创建一个`Page`类来存储查询结果和分页信息,如总记录数、总页数、当前页等。 ```java public class Page<T> { private List<T> content; private int totalElements; ...
这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助类,它的主要目标是简化分页查询的操作,提供更便捷的API给开发者使用。 `PageUtil.java`工具类可能包含了以下功能: 1. **参数处理**...
本文将详细探讨如何利用Java的多线程技术和线程池来实现并发查询数据库,以及相关的文件`BatchDataUtil.java`和`BatchDataRunnable.java`可能涉及的关键知识点。 ### 1. 多线程并发查询 多线程并发查询允许我们将一...
Pageable接口允许我们指定页码、页面大小和排序条件,而Page对象则封装了查询结果和分页信息。 1. Spring MVC 分页: 在Controller层,我们可以接收Pageable参数,然后将其传递给Service层进行数据查询。例如: `...
DisplayTag是一个强大的开源Java库,专门用于创建表格和实现分页、排序等功能,它使得在Web应用中实现这些功能变得简单而高效。 DisplayTag提供了一个灵活的标签库,可以方便地集成到JSP页面中,通过简单的配置就能...
5. **返回结果**:查询完成后,将结果封装成自定义的分页对象,包括数据列表和分页信息(如总页数、总记录数等)。例如,创建一个`Page`类: ```java public class Page<T> { private List<T> content; private ...
Java 和 JavaScript 分页控件是Web开发中常用的技术,用于在大量数据中实现高效的数据浏览。在网页应用中,分页通常用于展示数据库查询结果,避免一次性加载所有数据导致页面响应速度变慢或消耗过多资源。本文将深入...
在Redis中实现分页排序查询的过程,主要是针对特定场景,比如在存储评论系统时,我们需要在内存数据库中处理分页和排序的需求。Redis虽然没有原生的条件查询功能,但通过巧妙地使用其数据结构,我们可以实现这样的...
本压缩包文件提供了关于Java实现页面分页的源代码示例,通过这个例子,我们可以深入理解页面分页的原理和实现方法。 页面分页的基本概念是将数据库查询结果划分为若干个连续的部分,每个部分称为一页,用户可以逐页...
总结,"Hibernate 多表连接分页查询示范项目"是一个实用的示例,它展示了如何在实际应用中利用 Hibernate Criteria API 实现复杂查询和分页,对于学习和掌握 Hibernate 的高级特性和数据库操作技巧非常有帮助。...