public class TestSort implements Comparator {
public static void main(String[] args) throws ParseException {
TestSort testSort = new TestSort();
List<User> list = new ArrayList<User>();
testSort.addUser(list);
Collections.sort(list,testSort);
for(User o : list) {
System.out.println(o.getName() + "--"+o.getBirthday());
}
}
@Override
public int compare(Object ob1, Object ob2) {
User u1 = (User)ob1;
User u2 = (User)ob2;
Date d1 = u1.getBirthday();
Date d2 = u2.getBirthday();
System.out.println("sort --------------");
if(d1.before(d2)) {
return 1;
}else {
return -1;
}
}
public void addUser(List list) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss");
String d1 = "2015-08-12 15:51:44";
String d2 = "20150812155059";
String d3 = "20150812155259";
Date date1 = sdf.parse(d1);
Date date2 = sdf2.parse(d2);
Date date3 = sdf2.parse(d3);
User u1 = new User();
User u2 = new User();
User u3 = new User();
u1.setAge(25);
u1.setBirthday(date1);
u1.setName("张一");
u2.setAge(28);
u2.setBirthday(date2);
u2.setName("张二");
u3.setAge(29);
u3.setBirthday(date3);
u3.setName("张三");
list.add(u1);
list.add(u2);
list.add(u3);
}
class User {
private String name;
private int age;
private Date birthday;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
}
分享到:
相关推荐
Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 List 中排序,无疑会提高...
此方法用于将两个已经根据时间顺序排列的List合并成一个新的单一List,并进行排序。 2、该类设计有泛型,任何类型的集合List都可以调用该类。 3、使用者可以通过调用`ListMerger.mergeAndSortLists()`方法,传入两...
然而,这些类存在一些设计上的问题,因此Java 8引入了新的日期时间API,包括`java.time.LocalDate`, `java.time.LocalDateTime`, 和 `java.time.ZonedDateTime`等。这里我们主要关注`LocalDate`,因为它是没有时区...
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...
JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。
总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
总结来说,Java集合框架提供了强大的工具来处理分组和排序,包括`List`接口的`sort()`方法和流API的`groupingBy()`和`sorted()`。在实际项目中,可以根据需求选择合适的方法。同时,`ArrayHelp`和`ClassLoadUtil`...
Java集合框架中的`List`接口提供了一个`sort(Comparator<? super E> comparator)`方法,可以接受一个比较器(Comparator)来定义自定义的排序规则。默认情况下,Java使用自然排序,即按照字符串的Unicode值进行排序...
这里我们将深入探讨如何使用Java实现文件按时间、大小等属性进行排序的功能。 首先,我们要引入`java.io.File`类,它是Java中用于表示文件和目录的基本类。我们可以创建`File`对象来代表一个具体的文件或目录,然后...
在Java编程中,"list集合树状排序"是一种常见的需求,特别是在处理前端展示的数据时,如使用jQuery的treetable插件。这个场景通常涉及到数据结构的组织和排序,以便前端能够按照树形结构正确地展示层级关系。下面将...
在`GroupFilterSortUtils.java`中,可能包含了一些静态方法,用于更复杂的操作,如根据多个条件进行过滤、分组或排序。这些方法可能接受多个参数,比如比较器、过滤条件等,然后返回一个新的已处理的List。例如: `...
### Java 中文姓氏排序详解 #### 一、引言 在处理中文数据时,我们经常需要对含有中文姓名的数据进行排序。Java 提供了多种方式进行排序,包括使用 `Collections.sort()` 方法配合自定义比较器(`Comparator`)。...
同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者可以根据项目需求选择最适合的方法。在 `MySortList.java` 文件中,可能包含了关于 `Collections.sort()` 方法的具体使用示例,而 `Java.jpg...
这就是如何在Java中对`List`进行排序的完整过程,特别是当列表包含自定义对象并需要根据特定字段排序时。通过`Collections.sort()`和`Comparator`,我们可以灵活地调整排序规则,满足各种业务需求。 在`RankingDemo...
"Java集合某个字段按照中文拼音排序" Java集合某个字段按照中文拼音排序是Java开发中经常遇到的问题。对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用...
java开发,使用list对其进行排序,,易学简单。。。。。。。。。
在Java开发中,我们经常需要对一个包含自定义对象的`List`进行排序。例如,当我们有一个`Member`对象列表,每个成员都有用户名(`username`)、级别(`level`)、出生日期(`birthday`)等属性时,可能需要根据这些属性的...
例如,可能存在一个名为`StrokeSorter`的类,它有一个`sort`方法,接受一个字符串数组或List,返回按照笔画排序后的结果。 `readme.txt`文件通常包含了项目的使用说明、注意事项以及可能的版本更新信息。在这里,它...
在Java中,可以使用`java.util.Comparator`接口自定义比较规则,根据笔画数对`List<String>`类型的汉字列表进行排序。此外,`java.text.Normalizer`类可以帮助处理Unicode编码,确保笔画计算的准确性。 总的来说,...