`
forlab
  • 浏览: 134042 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中List的排序

 
阅读更多
http://www.189works.com/article-13269-1.html
 第一种方法,就是list中对象实现Comparable接口,代码如下:
  01 public class Person implements Comparable<Person> {
  02     private String name;
  03     private Integer order;
  04
  05     /**
  06      * @return the name
  07      */
  08     public String getName() {
  09         return name;
  10     }
  11
  12     /**
  13      * @param name
  14      *            the name to set
  15      */
  16     public void setName(String name) {
  17         this.name = name;
  18     }
  19
  20     /**
  21      * @return the order
  22      */
  23     public Integer getOrder() {
  24         return order;
  25     }
  26
  27     /**
  28      * @param order
  29      *            the order to set
  30      */
  31     public void setOrder(Integer order) {
  32         this.order = order;
  33     }
  34
  35     @Override
  36     public int compareTo(Person arg0) {
  37         return this.getOrder().compareTo(arg0.getOrder());
  38     }
  39
  40 }
  01 public static void main(String[] args) {
  02     List<Person> listA = new ArrayList<Person>();
  03     Person p1 = new Person();
  04     Person p2 = new Person();
  05     Person p3 = new Person();
  06
  07     p1.setName("name1");
  08     p1.setOrder(1);
  09     p2.setName("name2");
  10     p2.setOrder(2);
  11     p3.setName("name3");
  12     p3.setOrder(3);
  13
  14     listA.add(p2);
  15     listA.add(p1);
  16     listA.add(p3);
  17     Collections.sort(listA);
  18     for (Person p : listA) {
  19         System.out.println(p.getName());
  20     }
  21 }
  第二种方法,就是在重载Collections.sort方法,代码如下:
  01 public class Person {
  02     private String name;
  03     private Integer order;
  04
  05     /**
  06      * @return the name
  07      */
  08     public String getName() {
  09         return name;
  10     }
  11
  12     /**
  13      * @param name
  14      *            the name to set
  15      */
  16     public void setName(String name) {
  17         this.name = name;
  18     }
  19
  20     /**
  21      * @return the order
  22      */
  23     public Integer getOrder() {
  24         return order;
  25     }
  26
  27     /**
  28      * @param order
  29      *            the order to set
  30      */
  31     public void setOrder(Integer order) {
  32         this.order = order;
  33     }
  34
  35 }
  01 public static void main(String[] args) {
  02         List<Person> listA = new ArrayList<Person>();
  03         Person p1 = new Person();
  04         Person p2 = new Person();
  05         Person p3 = new Person();
  06
  07         p1.setName("name1");
  08         p1.setOrder(1);
  09         p2.setName("name2");
  10         p2.setOrder(2);
  11         p3.setName("name3");
  12         p3.setOrder(3);
  13
  14         listA.add(p2);
  15         listA.add(p1);
  16         listA.add(p3);
  17
  18         Collections.sort(listA, new Comparator<Person>() {
  19             public int compare(Person arg0, Person arg1) {
  20                 return arg0.getOrder().compareTo(arg1.getOrder());
  21             }
  22         });
  23
  24         for (Person p : listA) {
  25             System.out.println(p.getName());
  26         }
  27     }
  两次执行的结果都是:
  name1
  name2
  name3
分享到:
评论

相关推荐

    java中list排序

    Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 List 中排序,无疑会提高...

    JAVA SortList 通用排序类

    JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。

    java List中对象多属性排序及各属性排序设置

    在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...

    java List排序工具类

    java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List&lt;Person&gt; list = getData(); // 获取无序数据 new ...

    java中文排序,数字字母汉字排序

    Java集合框架中的`List`接口提供了一个`sort(Comparator&lt;? super E&gt; comparator)`方法,可以接受一个比较器(Comparator)来定义自定义的排序规则。默认情况下,Java使用自然排序,即按照字符串的Unicode值进行排序...

    java List 排序 Collections.sort

    总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...

    java汉字排序

    4. * 汉字按照拼音排序的比较器 5. * @author KennyLee 2009-2-23 10:08:59 6. * 7. */ 8.public class PinyinComparator implements Comparator&lt;Object&gt; { 9. public int compare(Object o1, Object o2) { 10...

    java 中文姓氏 排序

    本文将详细介绍如何在 Java 中对包含中文姓氏的对象列表或字符串列表进行排序。 #### 二、基本概念 1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序...

    java 集合分组与排序

    Java集合框架中的`List`接口和数组(Array)是两种常用的数据结构,它们在处理数据时各有优势。下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这...

    java集合某个字段按照中文拼音排序.docx

    Java集合某个字段按照中文拼音排序是Java开发中经常遇到的问题。对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用...

    Java对List多个排序、查询条件的处理

    在Java编程中,对List进行多个排序和查询条件的处理是一项常见的任务,特别是在处理数据集合时。本篇文章将深入探讨如何使用Java实现这些操作,并基于给出的`GroupFilterSortUtils.java`文件,我们可以推断这是一个...

    Java将2个List集合合并到一个List里面并排序工具类

    Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据时间顺序排列的List合并成一...

    java中List对象列表实现去重或取出及排序的方法

    Java中List对象列表实现去重或取出及排序的方法 在Java中,对List对象列表实现去重或取出及排序是一种常见的操作。下面将详细介绍相关的方法和实现。 1. 实体类重写equals和hashCode方法 在Java中,想要去重List...

    java 使用Collections类对List的排序操作

    总的来说,`Collections` 类提供的排序功能使得在 Java 中对 `List` 进行操作变得更加便捷,无论是自然排序还是定制排序,都可以轻松实现。同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者...

    java List排序demo

    当我们需要对`List`中的元素进行排序时,可以利用Java提供的内置排序机制。本篇将详细介绍如何根据指定字段对`List`中的对象进行排序,以`Student`类为例,假设每个`Student`都有一个`grad`属性表示成绩。 首先,...

    java使用stream对日期排序

    在Java编程中,Stream API是Java 8引入的一个强大特性,它允许我们以声明性方式处理数据集合。本文将深入探讨如何使用Stream API对日期进行排序。日期排序在数据分析、日志处理、报表生成等场景中非常常见。下面我们...

    list集合树状排序-java

    在Java编程中,"list集合树状排序"是一种常见的需求,特别是在处理前端展示的数据时,如使用jQuery的treetable插件。这个场景通常涉及到数据结构的组织和排序,以便前端能够按照树形结构正确地展示层级关系。下面将...

    java中进行集合排序

    在Java编程中,对集合(如`List`)中的对象进行排序是一项常见的操作。本文将详细介绍如何根据对象的特定属性来实现升序或降序排序。 #### 标题:Java中进行集合排序 该标题表明文章的主题是关于Java语言中如何对...

    Java 中文排序 使用pinyin4j组件

    在Java编程语言中,对中文字符串进行排序是一个相对复杂的问题,因为中文字符的排序不能简单地按照Unicode编码顺序来处理。通常,我们需要考虑汉字的拼音或者笔画等属性来进行排序。这里我们将详细介绍如何使用`...

    java list排序

    java开发,使用list对其进行排序,,易学简单。。。。。。。。。

Global site tag (gtag.js) - Google Analytics