- 浏览: 346304 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (169)
- spring (20)
- java (44)
- ibatis (0)
- hibernate (6)
- struts (2)
- javascript (6)
- ajax (1)
- eclipse (4)
- 其他 (10)
- database (17)
- ibatis 分页 (7)
- xml (2)
- pl/sql (6)
- sql (4)
- apache (3)
- oracle (8)
- jdom (1)
- Open ModelSphere (1)
- 线程 (2)
- 多线程 (2)
- 查找文件 (1)
- Comparator (2)
- jxl (2)
- jquery (1)
- Flex (2)
- 非技术 (1)
- mysql (2)
- zxing (1)
- jdbc (1)
- Java内存 (1)
- editplus (1)
- log4j (1)
- sqlserver (2)
- base64 (1)
- Linux (4)
- Shell (2)
- 非技术共享 (1)
- 省市 (1)
- PowerDesigner (3)
- 观察者模式 (2)
- Servlet (1)
- 单点登录 (1)
- IO (1)
- tomcat (1)
- clob (1)
- html (1)
- jsp (2)
- JNative (1)
- WebService (2)
- Highcharts (1)
- Spring Security (1)
- ztree (1)
- Mongodb (3)
- sftp (1)
- SVN (1)
- openSUSE (1)
- Ubuntu (1)
- nio (1)
- springboot (1)
- java8 (1)
最新评论
-
wajjj:
[flash=200,200][url][img][list] ...
【JAVA】读取excel内容(兼容03和07格式) -
xurichusheng:
jjhe369 写道感谢分享!但是发现一个小问题,就是第13, ...
oracle 存储过程分页查询 -
jjhe369:
感谢分享!但是发现一个小问题,就是第13,14行的V_STAR ...
oracle 存储过程分页查询 -
飞天奔月:
为什么不用 Map<String, String> ...
读取.properties的内容,并将内容放入一个Map中 -
xurichusheng:
814687491 写道测试了一下,无法换行!你可以自定义自己 ...
使用google的zxing制作二维码
之前在面试的时候,人家老是问怎么对对象进行排序。
虽然在项目中也有看到过人家写的代码,但是自己没亲自写过,也没什么记得住。
今天闲来没事,自己写了个简单的。
框架:Spring Hibernate
具体的配置这里不贴出来了。
主要是用 java.util.
Collections的方法 sort(List <T> list, Comparator <? super T> c)
下面是代码:
实体类:
import java.io.Serializable; public class UserTest implements Serializable { /** * @Fields serialVersionUID : TODO */ private static final long serialVersionUID = 9171568900755918349L; private String userId; private String userName; private int age; @Override public String toString() { StringBuffer buf = new StringBuffer(); buf.append("UserTest:["); buf.append("userId=").append(getUserId()); buf.append(",userName=").append(getUserName()); buf.append(",age=").append(getAge()); buf.append("]"); return buf.toString(); } //省略 setter/getter 方法 }
DAO层代码也省略,直接贴出测试代码:
import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.UUID; import junit.framework.TestCase; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestUserDAO extends TestCase { private IUserTestDAO userTestDAO = null; @Override protected void setUp() throws Exception { try { AbstractApplicationContext act = new ClassPathXmlApplicationContext( "applicationContext.xml"); userTestDAO = (IUserTestDAO) act.getBean("userTestDAO"); } catch (Exception e) { e.printStackTrace(); } } public void getListUser() { try { List<UserTest> list = userTestDAO.findObjects("from UserTest"); // 根据userName降序排序 Collections.sort(list, new Comparator<UserTest>() { @Override public int compare(UserTest o1, UserTest o2) { return o2.getUserName().compareTo(o1.getUserName()); } }); for (UserTest user : list) { System.out.println(user); } } catch (Exception e) { e.printStackTrace(); } } }
如果要根据userName做升序排序,只需要改成:
o1.getUserName().compareTo(o2.getUserName());
注意 o1和o2的顺序。
测试结果:
UserTest:[userId=fdebc42b-18e9-49b0-8903-7068b0d9e652,userName=ccc,age=33] UserTest:[userId=1bec68d8-e781-43fb-909e-78da901353ba,userName=bbb,age=22] UserTest:[userId=3d174d47-db21-4805-b631-f12ffd0dbacc,userName=aaa,age=11]
下面是数据库中的值:
发表评论
-
mysql树
2019-09-26 08:39 422mysql树 -
【JAVA】组织树
2019-09-04 10:17 1054JDK 版本:jdk 1.8 及以上。 1. ... -
多线程多批量插入大数据
2018-10-31 11:19 6413参考 https://blog.csdn.ne ... -
java 7 nio逐行读取文件内容
2015-12-26 23:33 5464nio逐行读取文件内容,使用 java 7. 首先,获取 ... -
java 6 IO读取txt文件内容
2015-12-26 23:24 883逐行读取。 首先获取文件的编码格式; 读取文件内容。 ... -
【JAVA】读取excel内容(兼容03和07格式)
2015-12-21 13:51 2184jar 包: poi-3.13.j ... -
一行代码去除List中的重复数据
2015-12-02 10:52 16741. 核心代码: List<String> ... -
将List中的对象中的字段的重复值删除
2015-12-01 11:10 2709如下面的对象 Subs,如果其属性 startSt 和 e ... -
jdk 官方下载地址
2015-11-06 10:00 1865http://www.oracle.com/techn ... -
jsp页面显示二进制图片
2014-11-05 15:58 40861. DAO层 import java.sql.C ... -
java中使用JNative调用dll方法
2014-03-03 16:02 5346使用JNative调用dll方法, dll 文件名 ... -
Vector排序
2013-05-08 10:17 15431. Vector 默认按元素的添加顺序排序 im ... -
使用观察者模式监听Map值的改变
2013-05-02 16:46 6213观察者(Observer)角色:为所有的具体观察者定 ... -
【转】一个比较快的Base64 编码/解码 算法
2013-03-28 17:50 1730转自: 中国开源社区 最快的 Base64 编码/解 ... -
jdbc 数据库连接池
2012-12-04 16:09 1519注:有些java类是JDK ... -
将查询结果导入excel 中
2012-06-29 11:14 12141. 数据库:oracle 10g2 JDK: ... -
【转】 模拟银行业务调度系统
2012-06-13 15:39 1213转自:CSDN,itm_hadf ... -
HttpClient 代理实例(Get方式) 线程
2012-01-10 14:23 1557使用的jar包: commons-codec-1.4.jar ... -
httpclient资料(自用)
2012-01-10 07:07 1092httpclient资料 -
JDBC公共操作方法(六):存储过程
2012-01-03 17:22 1053存储过程 CREATE OR REPLACE PROC ...
相关推荐
标题与描述均提到了“程序实现时间排序Comparator”,这表明文章的主题是关于如何在Java编程环境中使用`Comparator`接口来实现基于时间的排序。在Java中,`Comparator`是一个功能强大的工具,允许开发者自定义对象的...
在Java编程中,`Comparator`接口是用于比较对象的关键工具,尤其在进行自定义排序时。这个接口提供了`compare()`方法,根据特定的规则来决定两个对象的相对顺序。当需要根据多个排序条件对集合进行排序时,可以使用...
在`List`对象集合中使用`Comparator`进行排序,通常需要调用`Collections.sort()`或`list.sort()`方法。例如,假设我们有一个`Person`类,其中包含`name`和`age`属性,我们想要根据年龄对`Person`对象列表进行排序:...
可以通过两种方式自定义对象的属性大小进行比较,对一个list或数组对根据属性排序一个list或数组
使用`Comparator`排序时,可以传递给`Collections.sort()`或`Arrays.sort()`方法,例如: ```java List<MyObject> list = ...; Collections.sort(list, new MyComparator()); ``` 此外,`Comparator`还可以通过...
在Java编程语言中,`Comparator`接口是一种非常实用且灵活的工具,用于控制对象的排序方式。它允许开发人员自定义对象的比较逻辑,从而实现对集合(如`List`)中的元素进行排序。`Comparator`接口在`java.util`包中...
本教程将深入探讨如何使用`Comparator`来实现对对象集合的定制排序。 `Comparator`接口位于`java.util`包下,它定义了一个方法`compare(T o1, T o2)`,用于比较两个对象的顺序。当我们需要根据自定义规则对集合中的...
一个比较器的作用是定义对象排序的规则,可以将其应用于对象集合,以便按照比较器所定义的规则进行排序。 Comparator接口中定义了一个非常关键的方法——compare(T o1, T o2),该方法接受两个类型参数为T的对象作为...
在Java编程语言中,`Comparator`接口用于自定义对象的排序规则。`String`, `number`以及`String+number`的`Comparator`排序涉及到如何按照特定逻辑比较字符串、数字以及字符串与数字组合的对象。这篇博客文章(链接...
假设我们有一个`LocalDate`对象的列表`List<LocalDate> dates`,可以使用以下步骤进行排序: ```java List<LocalDate> sortedDates = dates.stream() .sorted(Comparator.naturalOrder()) .collect(Collectors...
在文件名为"ComparatorTest"的场景下,可能包含了一个测试用例,演示如何使用Comparator对ArrayList中的对象进行排序。通过阅读和理解这个测试用例,我们可以更深入地了解Comparator的工作原理以及如何在实际项目中...
在Java编程语言中,对象排序是一项关键操作,特别是在处理集合数据结构时。本文将深入探讨如何对ArrayList、HashSet、TreeSet以及数组中的对象进行排序。理解这些排序机制对于编写高效且可维护的代码至关重要。 ...
这里我们探讨的主题是如何根据对象的属性进行排序,结合提供的`Simple.java`和`User.java`文件,我们可以假设这是一个关于自定义对象排序的例子。下面将详细解释相关知识点。 1. **Comparable接口**: Java中的`...
Java中的Comparator接口是排序的关键工具,它允许程序员自定义对象的比较规则,从而在集合、数组或树结构(如TreeSet、TreeMap)中实现定制化的排序。在Java的Collections框架中,Comparator扮演着重要的角色,特别...
总之,对不同类型对象的列表进行排序是一项常见的任务,通过Java的`Comparator`接口和`Collections.sort()`或`List.sort()`方法,我们可以轻松地根据一个或多个属性实现多条件排序。在Android开发中,理解并熟练运用...
本文将深入探讨Java中的对象排序,包括基本概念、API使用以及自定义排序规则。 ### 1. Java对象排序基础 在Java中,我们可以对两种类型的元素进行排序:原始类型(如int、char)和对象。对于对象,排序主要涉及到`...
总结来说,Java中的List可以通过自定义Comparator或者利用泛型和方法引用来实现对象多属性的动态排序。这种技术在处理复杂数据结构时非常有用,使得代码更加简洁且易于维护。通过学习和实践这部分内容,开发者可以...
本主题将深入探讨如何使用SortedSet接口来实现Java对象的中文排序,并通过源码分析理解其工作原理。 首先,SortedSet是Java集合框架中的一个接口,它继承自Set接口并添加了排序的特性。SortedSet的主要实现类有...
总的来说,Java对象排序是通过实现`Comparable`接口或使用`Comparator`来完成的。理解这两个接口的用法,并熟练掌握`Collections.sort()`和`Arrays.sort()`的使用,是成为熟练Java开发者的必备技能。在实际编程中,...
对于对象数组,如果对象类实现了`Comparable`接口,我们可以直接使用`Arrays.sort()`方法对数组进行排序。但是,当需要按照多个属性排序时,我们需要自定义`Comparator`。例如,假设我们有一个`Person`类,包含`...