http://www.iteye.com/topic/1128840
依据List内部对象的某字段进行排序的方法
List内部对象类IntString,test为测试用例类
用Collections.sort方法,实现对List的排序,需要重写Comparator方法
代码如下:
List里存放的实体
package org.iti.wxl.listobjectsort;
public class IntString {
private Integer no;
private String str;
public Integer getNo() {
return no;
}
public void setNo(Integer no) {
this.no = no;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
@Override
public String toString() {
return "IntString [" + (no != null ? "no=" + no + ", " : "")
+ (str != null ? "str=" + str : "") + "]";
}
}
package org.iti.wxl.listobjectsort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<IntString> islist = new ArrayList<IntString>();
IntString is1 = new IntString();
is1.setNo(1);
is1.setStr("计091");
IntString is3 = new IntString();
is3.setNo(3);
is3.setStr("计093");
IntString is2 = new IntString();
is2.setNo(2);
is2.setStr("计092");
islist.add(is1);
islist.add(is3);
islist.add(is2);
System.out.println(islist);
Collections.sort(islist, new MyComparator());
System.out.println(islist);
}
}
class MyComparator implements Comparator<Object> {
@Override
public int compare(Object o1, Object o2) {
IntString iso1 = (IntString)o1;
IntString iso2 = (IntString)o2;
String str1 = iso1.getStr();
String str2 = iso2.getStr();
return str1.compareTo(str2);
// Integer no1 = iso1.getNo();
// Integer no2 = iso2.getNo();
// if(no1 > no2){
// return 1;
// }else if(no1 < no2){
// return -1;
// }else{
// return 0;
// }
}
}
分享到:
相关推荐
Java中的Collections.sort排序是Java.util.Collections类中的一个静态方法,用于对列表进行排序。下面将详细介绍Collections.sort排序的使用和实现机制。 Collections.sort()方法的使用: Collections.sort()方法...
在Java编程语言中,`Collections.sort()` 是一个非常重要的函数,它用于对集合中的元素进行排序。这个函数是 `java.util.Collections` 类的一个静态方法,适用于列表(List)类型的集合。`Collections.sort()` 可以...
`List`对象排序的通用方法对于优化程序性能、处理动态数据尤其关键,特别是当从数据库查询的数据需要根据特定字段进行调整时。本文将详细讨论如何对包含对象的`List`进行排序,包括正序和倒序,以及如何按指定参数...
然后,我们可以使用Collections.sort()方法来排序列表。 ```java List<Record> list = new ArrayList(); // 添加记录到列表中 Collections.sort(list); ``` 方法二:使用Comparator接口和Collator类 在Java中,...
在 Java 中,对 List 排序可以使用 Collections.sort(list) 方法,但是这种方法只能对基本类型的 List 进行排序,如果 List 中包含的是对象,那么这种方法就不行了。这时需要使用Comparator接口来实现排序。 ...
通过对`List<T>`类的排序方法的学习,我们可以灵活地对不同类型的对象进行排序。通过自定义比较器,我们可以实现更复杂的排序逻辑。此外,`List<T>`还支持部分排序,进一步增强了排序功能的灵活性。理解并掌握这些...
总之,Java提供了多种对List对象进行排序的方式,包括使用`Collections.sort()`、自定义Comparator以及Java 8的新特性。选择哪种方法取决于具体需求,如性能、代码可读性和复杂性等因素。在保证代码安全的同时,应尽...
本篇总结主要围绕Java集合的排序方法进行详细阐述,共计13页,涵盖了多种排序策略和技术。下面我们将深入探讨这些关键知识点。 1. 集合接口与实现 在Java中,集合主要分为两种类型:List和Set。List接口(如...
- **示例**:在提供的代码片段中,使用了`Collections.sort()`方法对`list`进行排序: ```java if ("asc".equals("asc")) { Collections.sort(list, new ProductCompareAsc()); } else if ("desc".equals("desc...
`List`对象排序通用方法就是为了解决这个问题,特别是在处理从数据库中检索出的数据列表时,避免频繁的数据库查询,转而在内存中对数据进行排序。这里我们将探讨如何对包含自定义对象的`List`进行通用排序,并减少...
本篇文章介绍一种方法,该方法能够在内存中直接对 List 对象的数据字段进行排序,而无需直接操作数据库。这种方法特别适用于在前端展示时根据特定字段对数据进行排序的需求。 #### 关键概念 - **List**: Java 中的...
现在我们可以创建一个包含多个`Student`对象的`List`,然后调用`Collections.sort()`方法进行排序: ```java List<Student> students = Arrays.asList( new Student("Tom", 85), new Student("Jerry", 92), new ...
在C#编程中,`IList<T>`是一个接口,它扩展了`ICollection<T>`和`IEnumerable<T>`,提供了对列表的动态数据...在实际开发中,根据`IList<>`接口的类的特性,选择合适的排序方法,能够帮助我们更好地管理和操作数据。
然后,我们使用Collections.sort()方法对List对象进行排序。结果显示,List对象按照CreateDate字段升序排序成功。 List对象的去重和排序是非常重要的操作。在实际开发中,我们经常需要对List对象进行去重和排序,以...
在Java编程中,有时我们需要对List集合中的对象根据它们的某个特定字段进行排序。这个过程可以通过实现Comparable接口或Comparator接口来实现。以下是一个详细的实例,展示了如何按照List中存储的对象的某个字段(在...
总之,对不同类型对象的列表进行排序是一项常见的任务,通过Java的`Comparator`接口和`Collections.sort()`或`List.sort()`方法,我们可以轻松地根据一个或多个属性实现多条件排序。在Android开发中,理解并熟练运用...
Android List(集合)中的对象以某一个字段排序案例 Android List(集合)中的对象以某一个字段排序案例是 Android 开发中非常重要的一部分。在实际开发中,我们经常需要对一个对象的集合按照某一个字段进行排序,例如...
在上述代码中,使用了 List 接口来存储 ServerInfo 对象列表,并使用了 Collections.sort() 方法来对列表进行排序。List 接口提供了对元素的添加、删除和遍历等操作,可以满足基本的数据存储需求。 在实际应用中,...