import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; class Student { private Integer id; public Integer getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirth() { return birth; } public void setBirth(Date birth) { this.birth = birth; } private String name; private Date birth; public Student() { this.birth = new Date(); this.id = 0; this.name = ""; } public Student(int id, String name, Date birth) { this.id = id; this.name = name; this.birth = birth; } public String toString() { return "{id = " + id + ";name = " + name + ";birth = " + birth + "}"; } } public class ComparatorTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub @SuppressWarnings("deprecation") Student s1 = new Student(001, "jim", new Date(1987, 9, 24)); @SuppressWarnings("deprecation") Student s2 = new Student(003, "abc", new Date(1983, 9, 24)); @SuppressWarnings("deprecation") Student s3 = new Student(002, "efe", new Date(1985, 9, 24)); List<Student> list = new ArrayList<Student>(); list.add(s1); list.add(s2); list.add(s3); System.out.println(list); Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { // TODO Auto-generated method stub return o1.getBirth().compareTo(o2.getBirth()); } }); System.out.println(list); } }
直接重载Comparator中的compare方法就OK啦。
相关推荐
但是,需要注意的是,JDK自带的Collator类可能不能正确地排序一些生僻的姓氏,因此我们可以使用IBM的ICU4J库,该库提供了更好的中文拼音排序功能。 ```java import com.ibm.icu.text.Collator; List<String> list ...
4. 调试与监控:利用JDK自带的JConsole、VisualVM等工具进行性能监控和问题排查。 总之,JDK 1.8.0_91是Java 8的一个重要版本,其特性如Lambda表达式、Stream API和新的日期时间API极大地提升了Java的生产力和代码...
3. **开发工具**:介绍JDK自带的各种开发工具,如javac编译器、javadoc文档生成器、jconsole性能监视工具等。 4. **性能和调优指南**:提供关于如何优化Java应用程序的建议和最佳实践。 5. **故障排除**:提供解决...
`jmap`、`jstack`等JDK自带的诊断工具也得到了增强,帮助开发者更好地理解和调试Java程序。 安装JDK1.7 64位版时,你需要确保你的操作系统是64位的,然后解压提供的压缩包文件"JDK1.7.0_64位"。通常,安装过程包括...
- JDK8提供了一个全新的日期时间API,该API位于`java.time`包中,包括`LocalDate`、`LocalTime`、`LocalDateTime`等类,这些类的设计更合理,避免了旧版API中的问题,并且提供了更强大的功能支持。 ##### 3. ...
JDK的并发包提供了丰富的工具类和接口,使得开发者能够有效地管理并发任务。在本文中,我们将深入探讨Java高并发下的线程池和ForkJoin框架。 线程池是Java并发编程中的重要概念,它解决了频繁创建和销毁线程的开销...
安装完成后,开发者可以通过`javac`命令进行Java源代码的编译,通过`java`命令执行字节码文件,还可以使用JDK自带的其他工具,如`javadoc`生成文档,`jar`打包和管理归档文件,以及`jmap`、`jconsole`等诊断工具进行...
数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)。1.冒泡排序: 两两相比(两个相邻的数进行比较) 条件成立 互换位置 外层循环控制比较的轮数 **轮数...3.JDK自带的排序 Arrays.sort();方法
Sun Microsystems在JDK 6中集成Derby 10.2.2版本,极大地简化了Java开发者使用数据库的流程。以往,程序员需要花费时间安装和配置独立的数据库服务器,而Java DB的内嵌模式则允许开发者直接在应用程序内部使用数据库...
例如,JDK自带的JVisualVM和VisualGC可以帮助开发者分析类集的内存占用和性能,找出可能的内存泄漏或性能瓶颈。此外,IDE中的调试工具也能帮助开发者跟踪集合的变化,理解程序运行过程。 在实际开发中,选择合适的...
JDK自带的监控和性能分析工具是Java高级面试题中的一大热点。包括jps、jstat、jmap、jstack、jhsdb等。jps用来显示Java进程;jstat用来查看GC;jmap用来dump堆;jstack用来dump栈;jhsdb用来查看执行中的内存信息。
通用测试类,支持多种数据类型,支持2份相同数组的排序比较(与JDK自带J.U.A的Arrays.sort算法进行对比) 子类需要重载showtime方法来实现具体的排序 yuanjun.chen.base.sort.BubbleSortAlgo.java 冒泡排序实现类,...
7. 集合框架的扩展:除了JDK自带的集合类,开发者还可以创建自己的集合类。通过继承和实现标准集合接口,可以创建具有特定功能的集合类。 8. 使用API示例:本书还提供了一系列扩展API的例子,这些示例展示了如何在...
1. 发现错误并改错。给出一个实现插入排序的程序,文件名为...禁止使用JDK自带的Base64转换程序以及Apache开源网站上的程序, 必须自己编写代码来实现BASE64编码和解码函数。可以为该类添加其他数据成员和函数成员。
1. 发现错误并改错。给出一个实现插入排序的程序,文件名为...禁止使用JDK自带的Base64转换程序以及Apache开源网站上的程序, 必须自己编写代码来实现BASE64编码和解码函数。可以为该类添加其他数据成员和函数成员。
接下来进行DFSIO基准测试,这是Hadoop自带的读写性能测试工具。通过`hadoop fs -test -d /testdir`创建测试目录,然后运行`hadoop distcp /dev/null /testdir`填充数据。最后,使用`hadoop fs -du -s /testdir`和`...
通过使用JDK自带的集合类,可以降低代码维护的难度,学习新API的成本也会相对较低。 在面试过程中,对Java集合框架的理解程度是衡量一个程序员对Java集合类库掌握熟练程度的重要指标。了解集合框架的原理、特点、...
- **API易用性**:JDK自带的集合类降低了开发成本和学习新API的难度。 理解这些核心知识点对于Java开发者来说至关重要,因为集合框架是日常开发中不可或缺的一部分。熟练掌握这些概念和使用技巧,将能够更好地设计...