依据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; // } } }
如果是String类型的数据比较大小,Comparator方法里用str1.compareTo(str2) 方法,如果是数值比较大小,则用<,=,>比较,>返回1,=返回0,<返回-1。
相关推荐
C# 使用orderby 多字段 动态排序
C# 修改list所有对象中的某字段 博客地址:https://blog.csdn.net/qq_36051316/article/details/83475372 的案例
List对象排序通用方法List对象排序通用方法List对象排序通用方法List对象排序通用方法
List,List, Object>>,多字段组合排序。提供一个简易的思路,如果需要进行参考。
在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:
天才之作:通过泛型,对List中对象多属性排序,支持设置各属性排序方式(动态属性),看了之后绝对让你震撼!
主要介绍了Android List(集合)中的对象以某一个字段排序案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
下面小编就为大家带来一篇List对象去重和按照某个字段排序的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java集合某个字段按照中文拼音排序 java集合某个字段按照中文拼音排序
List数据字段排序不关注数据库,直接排序
下面小编就为大家带来一篇Java按照List内存储的对象的某个字段进行排序的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
对实现IList接口的类进行排序,支持多字段排序。
一个list里面有多个对象,对象有几个字段,要求在对象里面不要有重复的数据的实现。
Python内建的排序方法 1 排序方法介绍 Python中有2个排序函数,一个是list内置的sort()方法,另一个是全局的sorted()方法 sorted(iterable,key=None,reverse=False) #返回排好序的新列表,不改变对象本身,默认升序;...
List类几种排序方法比较灵活 可以根据自己的需要 选用合适的方法
在数据库中查出来的列表list中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高系统的性能。
下面小编就为大家分享一篇java根据List内对象的属性排序方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧