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对象排序通用方法
JAVA SortList 通用排序类 从网上搜到一个java 对 List 排序的工具,自己改了下 支持 整数 和 浮点数 比较后排序,浮点数小数部分的有点问题,期待大牛帮忙优化。
因此,我们需要找到一种通用的方法来实现对 List 排序。这种方法可以使用泛型和反射机制来实现。我们可以使用 getMethod 和 invoke 方法来动态地取得方法,然后使用 compareTo 方法来比较对象的大小。 在上面的代码...
* 通用排序方法 * @param list 需要排序的List * @param method 对象属性的获取方法名称 * @param sort 排序方式:desc(降序)或asc(升序) */ @SuppressWarnings({"unchecked", "rawtypes"}) public void ...
这里我们将探讨如何对包含自定义对象的`List`进行通用排序,并减少冗余代码。 首先,Java的`Collections.sort()`方法是用于对`List`进行排序的便捷工具,但默认它只能处理实现了`Comparable`接口的元素。对于自定义...
LIST对象排序通用方法HIBERNATE的SET排序.pdf
这个类利用了Java的泛型,可以接受任何类型的List,并通过传入的参数`method`和`sort`来决定排序的属性和排序方式(升序或降序)。 关键在于,`SortList`类的`Sort()`方法内部创建了一个Comparator,它使用反射机制...
分析LIST对象排序通用方法HIBERNATE的SET排序.pdf
这是一个通用的方法,可以对任何实现了`Comparable<T>`接口的集合进行排序。在我们的例子中,`String`类已经实现了`Comparable<String>`接口,因此我们可以直接对`List<String>`进行排序。然而,`Collections.sort()...
LIST对象排序通用方法HIBERNATE的SET排序[整理].pdf
在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:
在资源编辑器中,你可以通过拖放方式将ListCtrl控件放置到对话框上,并为其分配一个ID,例如IDC_LISTCTRL。 为了实现列表排序,我们需要在对话框类中添加以下步骤: 1. **添加成员变量**:在对话框类的头文件中,...
其中,`DataSet`到`List`的转换是常见的需求之一,尤其是在需要将数据库查询结果以更灵活的方式进行处理时。本文将详细介绍一种通用方法,用于将`DataSet`对象转化为`List`,并实现自动类型转换,提高代码的复用性和...
`TList` 定义在 `Classes` 单元中,是一个通用的目的列表容器。它能够容纳任意类型的对象,并提供了许多方法来管理这些对象,包括添加、删除、排序等操作。`TList` 的主要优点在于其灵活性和效率,尤其适用于需要...
这里介绍的是一种利用Java反射机制实现的通用排序方法。 首先,反射机制允许我们在运行时获取类的信息,包括类的字段(成员变量)和方法。通过`Class.getDeclaredField()`方法,我们可以获取到指定名称的字段。由于...
`Collections.sort()`是一个通用的方法,可以对List接口的实现类进行排序。在使用这个方法前,确保ArrayList中的元素类型实现了Comparable接口,这样默认按照自然顺序排序;或者提供一个Comparator来定义自定义的...
如果实体类无法或不便实现Comparable接口,或者需要多种排序方式,我们可以使用Comparator接口。Comparator是一个通用接口,它包含一个`compare(T o1, T o2)`方法,用于比较两个对象的顺序。创建一个实现了...