`

Java中的List按照元素的属性进行排序

    博客分类:
  • java
阅读更多
主要用到: Collections.sort()方法:

1. JavaBean —— Content.java:
Java代码  收藏代码
package com.hmw.listsort; 
 
public class Content { 
 
    private long key; 
 
    private String name; 
 
    public Content(long key, String name) { 
        this.key = key; 
        this.name = name; 
    } 
 
    public long getKey() { 
        return key; 
    } 
 
    public void setKey(long key) { 
        this.key = key; 
    } 
 
    public String getName() { 
        return name; 
    } 
 
    public void setName(String name) { 
        this.name = name; 
    } 




2. 进行比较的类 —— ContentComparator.java:
Java代码  收藏代码
package com.hmw.listsort; 
 
import java.util.Comparator; 
 
public class ContentComparator implements Comparator<Content>{ 
    public int compare(Content o1, Content o2) { 
 
        //将 null 排到最后 
        if(o1 == null){ 
            return 1; 
        } 
        if(o2 == null || !(o2 instanceof Content)){ 
            return -1; 
        } 
         
        long key1 = o1.getKey(); 
        long key2 = o2.getKey(); 
        return key1 > key2 ? 1 : key1 < key2 ? -1 : 0; 
         
        /*
        //如果想要按照 name 字段进行排序, 只需将最后三行代码改为下面这一行即可
        return o1.getName().compareTo(o2.getName());
        */ 
         
    } 




3. 测试类 —— Test Class —— CompareClient.java
Java代码  收藏代码
package com.hmw.listsort; 
 
import java.util.ArrayList; 
import java.util.Collections; 
import java.util.List; 
 
public class CompareClient { 
    public static void main(String[] args) { 
        List<Content> list = new ArrayList<Content>(); 
        list.add(null); 
        list.add(new Content(15000, "---15000--")); 
        list.add(new Content(10000, "---10000---")); 
        list.add(new Content(20000, "---20000---")); 
        list.add(null); 
        list.add(new Content(25000, "---25000---")); 
        list.add(new Content(13000, "---13000---")); 
        list.add(new Content(15000, "---15000---")); 
        list.add(new Content(89000, "---89000---")); 
        Collections.sort(list, new ContentComparator()); 
         
        /*
        //如果要按照降序排列再加上这一行代码即可
        Collections.reverse(list);
        */ 
         
        for (Content content : list) { 
            if (content == null) { 
                System.out.println("null"); 
            } else { 
                System.out.println("content.getName()\t" + content.getName()); 
            } 
        } 
    } 


输出结果如下:
content.getName() ---10000---
content.getName() ---13000---
content.getName() ---15000--
content.getName() ---15000---
content.getName() ---20000---
content.getName() ---25000---
content.getName() ---89000---
null
null

感谢 http://hemingwang0902.iteye.com/blog/402794
分享到:
评论

相关推荐

    java版本List中对象多属性排序.rar

    在Java编程中,对List集合中的对象进行多属性排序是一项常见的任务。这通常涉及到自定义比较逻辑,以满足复杂的数据排序需求。在这个“java版本List中对象多属性排序.rar”压缩包中,我们可能找到了一个关于如何在...

    java List 排序 Collections.sort

    当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行排序。本文将深入探讨`Collections.sort()`的使用、原理以及如何自定义排序规则...

    java中进行集合排序

    这里的“集合”特指Java集合框架中的数据结构,而“排序”则是指对这些集合内的元素按照某种规则进行重新排列。 #### 描述:Java中按对象的某个属性进行升序降序的排序 这段描述进一步明确了排序的目标:即基于...

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

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

    java 中List按照date排序的实现

    java 中List按照date排序的实现 Java 中List按照date排序的实现是Java开发中一个常见的需求,特别是在处理日期类型的数据时SORT。今天,我们将介绍如何使用Java中的Collections类和Comparator接口对List按照date...

    Java中对list元素进行排序的方法详解

    在Java编程中,对List元素进行排序是一项常见的操作,特别是在处理数据集合时。本文将详细介绍如何在Java中对List元素进行排序,包括两种主要的方法:使用Comparable接口和Comparator接口。 1. **使用Comparable...

    list集合树状排序-java

    在本场景中,我们需要对List中的对象进行排序,这些对象通常包含表示层级关系的属性,如父ID、子节点列表等。 接下来,我们要解决的是“树状排序”。树状排序,或称为树形排序,是指将具有树结构的数据进行排序。在...

    java 按对象属性排序

    在Java编程中,按对象属性排序是一个常见的需求,特别是在数据处理和数据分析的场景下。这里我们探讨的主题是如何根据对象的属性进行排序,结合提供的`Simple.java`和`User.java`文件,我们可以假设这是一个关于...

    Java 对象属性map排序示例

    **Java对象属性排序** 如果我们有一个对象类,其中包含一个Map属性,我们可以先对Map进行排序,然后再处理对象列表。假设我们有以下User类: ```java public class User { private String name; private Map, ...

    List 对象属性排序

    在Java编程中,经常需要对`List`集合中的对象按照特定属性进行排序。传统的方法是在每个实体类中重写`Comparable`接口或提供比较器(`Comparator`),这不仅增加了代码量,而且降低了代码的可维护性和复用性。为了...

    Java 中文排序 使用pinyin4j组件

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

    java List排序demo

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

    List中保存对象,按对象中某一属性排序【含程序源码】

    总结一下,这篇博客主要讲述了如何在Java中使用列表(List)存储对象,并按照对象的特定属性进行排序。通过实现`Comparable`接口或提供`Comparator`,我们可以轻松地对列表进行定制化排序,满足各种需求。这对于数据...

    如何实现java8 list按照元素的某个字段去重

    在Java编程中,有时我们需要处理列表(List)数据结构,并且在处理过程中,可能需要根据元素的特定字段去重。Java 8引入了Stream API,它提供了强大的数据处理能力,包括去重操作。本篇文章将详细讲解如何使用Java 8...

    List集合对象中按照不同属性大小排序的实例

    List集合对象中按照不同属性大小排序是java编程中的一种常见操作。下面我们就来详细介绍如何使用java的Collections.sort()方法对List集合对象按照不同属性大小排序。 首先,我们需要创建一个Person类,该类具有name...

    Python对List中的元素排序的方法

    首先定义一个compare函数: ...要求ListA中的元素有value这个属性才行,当然也可以把value换成ListA中的元素的其他共有属性也可以。感觉和Java差不多。 总结 以上所述是小编给大家介绍的Python对List中的元素排

    JAVA JDK8 List获取属性列表

    在 Java 中,获取 List 元素对象中某个属性的列表是一个非常常见的操作。从 JDK 1.8 开始,我们可以使用 Java 8 的 Stream API 来实现这个功能。本文将为大家分享如何使用 Java 8 的 Stream API 来获取 List 元素...

    Java对List对象进行排序_.docx

    在Java编程中,对List对象进行排序是一个常见的需求,尤其是在处理数据集合时。Java提供了一个便捷的方法`Collections.sort()`,可以直接对实现了`Comparable`接口的List进行排序。然而,当需要根据对象内部的某个...

Global site tag (gtag.js) - Google Analytics