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

List的通用排序方式

阅读更多
package com.tom.compare;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class CompareClient {

/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  List list = new ArrayList();
  list.add(new Content(15000,"1asdfasd5000"));
  list.add(new Content(10000,"10000"));
  list.add(new Content(20000,"20000"));
  list.add(new Content(30000,"30000"));
  list.add(new Content(25000,"25000"));
  list.add(new Content(13000,"13000"));
  list.add(new Content(15000,"15000")); 
  list.add(new Content(89000,"89000"));
 
  ContentComparator comp = new ContentComparator(); 

  Collections.sort(list,comp);
 
  Content content;
  for(int i = 0; i < list.size(); i++){
   content = (Content)list.get(i);
   System.out.println(" content.getName() " + content.getName());
  }

}

}
package com.tom.compare;

import java.util.Comparator;

public class ContentComparator implements Comparator {

public int compare(Object o1, Object o2) {
  // TODO Auto-generated method stub
  Content c1 = (Content) o1;
  Content c2 = (Content) o2;
  if (c1.getKey() > c2.getKey()) {
   return 1;
  } else {
   if (c1.getKey() == c2.getKey()) {
    return 0;
   } else {
    return -1;
   }
  }
}
}
package com.tom.compare;

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;
}
}
结果是:

content.getName() 10000
content.getName() 13000
content.getName() 1asdfasd5000
content.getName() 15000
content.getName() 20000
content.getName() 25000
content.getName() 30000
content.getName() 89000
分享到:
评论

相关推荐

    List对象排序通用方法

    List对象排序通用方法List对象排序通用方法List对象排序通用方法List对象排序通用方法

    JAVA SortList 通用排序类

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

    java中list排序

    因此,我们需要找到一种通用的方法来实现对 List 排序。这种方法可以使用泛型和反射机制来实现。我们可以使用 getMethod 和 invoke 方法来动态地取得方法,然后使用 compareTo 方法来比较对象的大小。 在上面的代码...

    List 对象属性排序

    * 通用排序方法 * @param list 需要排序的List * @param method 对象属性的获取方法名称 * @param sort 排序方式:desc(降序)或asc(升序) */ @SuppressWarnings({"unchecked", "rawtypes"}) public void ...

    List对象排序通用方法[参考].pdf

    这里我们将探讨如何对包含自定义对象的`List`进行通用排序,并减少冗余代码。 首先,Java的`Collections.sort()`方法是用于对`List`进行排序的便捷工具,但默认它只能处理实现了`Comparable`接口的元素。对于自定义...

    LIST对象排序通用方法HIBERNATE的SET排序.pdf

    LIST对象排序通用方法HIBERNATE的SET排序.pdf

    java中List对象排序通用方法

    这个类利用了Java的泛型,可以接受任何类型的List,并通过传入的参数`method`和`sort`来决定排序的属性和排序方式(升序或降序)。 关键在于,`SortList`类的`Sort()`方法内部创建了一个Comparator,它使用反射机制...

    分析LIST对象排序通用方法HIBERNATE的SET排序.pdf

    分析LIST对象排序通用方法HIBERNATE的SET排序.pdf

    Android里List时间升序排序

    这是一个通用的方法,可以对任何实现了`Comparable&lt;T&gt;`接口的集合进行排序。在我们的例子中,`String`类已经实现了`Comparable&lt;String&gt;`接口,因此我们可以直接对`List&lt;String&gt;`进行排序。然而,`Collections.sort()...

    LIST对象排序通用方法HIBERNATE的SET排序[整理].pdf

    LIST对象排序通用方法HIBERNATE的SET排序[整理].pdf

    List集合按照对象中某个属性排序通用工具类(按对象中某属性排序)

    在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:

    基于VS2008的listctrl列表排序实现

    在资源编辑器中,你可以通过拖放方式将ListCtrl控件放置到对话框上,并为其分配一个ID,例如IDC_LISTCTRL。 为了实现列表排序,我们需要在对话框类中添加以下步骤: 1. **添加成员变量**:在对话框类的头文件中,...

    DataSet 转化为List的通用方法

    其中,`DataSet`到`List`的转换是常见的需求之一,尤其是在需要将数据库查询结果以更灵活的方式进行处理时。本文将详细介绍一种通用方法,用于将`DataSet`对象转化为`List`,并实现自动类型转换,提高代码的复用性和...

    delphi Tlist详解

    `TList` 定义在 `Classes` 单元中,是一个通用的目的列表容器。它能够容纳任意类型的对象,并提供了许多方法来管理这些对象,包括添加、删除、排序等操作。`TList` 的主要优点在于其灵活性和效率,尤其适用于需要...

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

    这里介绍的是一种利用Java反射机制实现的通用排序方法。 首先,反射机制允许我们在运行时获取类的信息,包括类的字段(成员变量)和方法。通过`Class.getDeclaredField()`方法,我们可以获取到指定名称的字段。由于...

    arrayList排序

    `Collections.sort()`是一个通用的方法,可以对List接口的实现类进行排序。在使用这个方法前,确保ArrayList中的元素类型实现了Comparable接口,这样默认按照自然顺序排序;或者提供一个Comparator来定义自定义的...

    Java对List进行排序的两种实现方法

    如果实体类无法或不便实现Comparable接口,或者需要多种排序方式,我们可以使用Comparator接口。Comparator是一个通用接口,它包含一个`compare(T o1, T o2)`方法,用于比较两个对象的顺序。创建一个实现了...

Global site tag (gtag.js) - Google Analytics