1. 调用java.util.Collections.sort(List list)方法进行排序
List内的Object都必须实现了Comparable接口
public class Account implements Comparable { private String name; private String accessLevel; public Account(String name,String accessLevel) { this.name = name; this.accessLevel = accessLevel; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAccessLevel(String accessLevel) { this.accessLevel = accessLevel; } public String getAccessLevel() { return accessLevel; } public int compareTo(Object o) { Account account = (Account)o; return this.getName().compareTo(account.getName()); } }
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class TestAccount { public static void main(String[] args) { List<Account> accountList = new ArrayList<Account>(); accountList.add(new Account("abc","12")); accountList.add(new Account("qbc","12")); accountList.add(new Account("fbc","11")); accountList.add(new Account("gbc","11")); accountList.add(new Account("wbc","15")); Collections.sort(accountList); for(Account account:accountList){ System.out.println(account.getName()+" "+account.getAccessLevel()); System.out.println("-------"); } } }
2. 调用 java.util.Collections.sort(List list,Comparator c)
public class Person { private String name; private String age; public Person(String name,String age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(String age) { this.age = age; } public String getAge() { return age; } }
声明一个PersonComparator类
import java.util.Comparator; public class PersonComparator implements Comparator { public PersonComparator() { super(); } public int compare(Object o1, Object o2) { Person person1 = (Person)o1; Person person2 = (Person)o2; int compareTo = person1.getName().compareTo(person2.getName()); if(compareTo == 0){ compareTo = person1.getAge().compareTo(person2.getAge()); } return compareTo; } }
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class TestPerson { public static void main(String[] args) { List<Person> personList = new ArrayList<Person>(); personList.add(new Person("abc","32")); personList.add(new Person("abc","12")); personList.add(new Person("fbc","22")); personList.add(new Person("gbc","52")); personList.add(new Person("wbc","12")); PersonComparator personComp = new PersonComparator(); Collections.sort(personList,personComp); for(Person person:personList){ System.out.println(person.getName()+" "+person.getAge()); System.out.println("-------"); } } }
临时声明一个Comparator 来实现排序
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class TestPerson { public static void main(String[] args) { List<Person> personList = new ArrayList<Person>(); personList.add(new Person("abc","32")); personList.add(new Person("abc","12")); personList.add(new Person("fbc","22")); personList.add(new Person("gbc","52")); personList.add(new Person("wbc","12")); Collections.sort(personList,new Comparator<Person>(){ public int compare(Person o1, Person o2) { Person person1 = (Person)o1; Person person2 = (Person)o2; int compareTo = person1.getName().compareTo(person2.getName()); if(compareTo == 0){ compareTo = person1.getAge().compareTo(person2.getAge()); } return compareTo; } }); // PersonComparator personComp = new PersonComparator(); // Collections.sort(personList,personComp); for(Person person:personList){ System.out.println(person.getName()+" "+person.getAge()); System.out.println("-------"); } } }
相关推荐
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...
java开发,使用list对其进行排序,,易学简单。。。。。。。。。
JAVALIST排序.pdf
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...
当我们需要对`List`中的元素进行排序时,可以利用Java提供的内置排序机制。本篇将详细介绍如何根据指定字段对`List`中的对象进行排序,以`Student`类为例,假设每个`Student`都有一个`grad`属性表示成绩。 首先,...
java List 排序之冒泡排序实例代码 Java List 排序之冒泡排序实例代码是 Java 语言中实现 List 排序的一种方法。该方法主要使用冒泡排序算法对 List 集合中的元素进行排序。 1.Collections.sort() 排序 ...
主要为LIST对象中的指定字段排序 首先比较年龄,如果年龄相同,则比较名字
总的来说,`Collections` 类提供的排序功能使得在 Java 中对 `List` 进行操作变得更加便捷,无论是自然排序还是定制排序,都可以轻松实现。同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者...
Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 List 中排序,无疑会提高...
JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。
总结来说,Java集合框架提供了强大的工具来处理分组和排序,包括`List`接口的`sort()`方法和流API的`groupingBy()`和`sorted()`。在实际项目中,可以根据需求选择合适的方法。同时,`ArrayHelp`和`ClassLoadUtil`...
List<String> location=new ArrayList(); 一行代码轻松搞定混合排序问题 Collections.sort(location, new SortUtils(true));
在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...
Java集合框架中的`List`接口提供了一个`sort(Comparator<? super E> comparator)`方法,可以接受一个比较器(Comparator)来定义自定义的排序规则。默认情况下,Java使用自然排序,即按照字符串的Unicode值进行排序...
Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据时间顺序排列的List合并成一...
通过以上介绍,我们可以看出Java Stream API提供了灵活且高效的方式来处理日期排序。无论是在简单的日期列表还是复杂的数据结构中,都可以轻松地实现排序功能。实践过程中,可以根据实际需求选择合适的日期类型和...
在Java编程中,"list集合树状排序"是一种常见的需求,特别是在处理前端展示的数据时,如使用jQuery的treetable插件。这个场景通常涉及到数据结构的组织和排序,以便前端能够按照树形结构正确地展示层级关系。下面将...