如果将集合中的对象进行排序,最近使用了一个简单的方法解决了,随笔记下来。
主要思路:
首先,新建类实现Comparator<?>,这个类是做比较的关键类,一般做比较的类型 int 或 String类型。
如果属性为Int类型比较方式为 rhs.getAge() - lhs.getAge();
如果属性为String类型方式为 rhs.getName.compareTo(lhs.Name);
以上为降序写法, 如果是升序将 rhs与lhs顺序颠倒即可。
public class order implements Comparator<Model> { @Override public int compare(Model lhs, Model rhs) { // TODO Auto-generated method stub return rhs.getAge() - lhs.getAge(); } }
第二、做一个测试类,测试一下比较的结果。
注意下面Collections.sort(mm, new order())方法,括号里面参数1为要排序的实体集合,第二个参数为上面
写比较方法的类。
public class MainActivity extends Activity { public List<Model> mm = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mm = new ArrayList<Model>(); for (int i = 0; i < 3; i++) { Model model = new Model(); model.setAge(11 + i); model.setId(22); model.setName("asdf"); mm.add(model); } Collections.sort(mm, new order()); for (int i = 0; i < mm.size(); i++) { int age = mm.get(i).getAge(); System.out.println("------------->" + age); } } }
输出结果
以下是实体类
public class Model { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
相关推荐
Android中英文混合排序,中文的拼音与英文字符串比较后排序
经常遇到下拉菜单需要排序的事情,或者取以一定规律排列的数据,这时候一个关键的问题就是排序问题。
NULL 博文链接:https://gqdy365.iteye.com/blog/2002488
Android中文拼音排序以及中文笔划排序和英文排序,实现类似微信登录选择国家地区列表的功能
在listview中,实现中文拼音排序的效果
Android图形化展示排序算法
主要介绍了Android List(集合)中的对象以某一个字段排序案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
android 联系人排序,支持中文 demo
arraylist 对象中的某个值排序,并非单出的数组排序
不同类型对象组成的列表,根据某个属性或者多个属性进行排序
Android sort按时间排序
listview 拖动 item 排序,参照了DragSortListView:可拖动排序的listview DragSortListView:可拖动排序的listview
Android调用Jni返回自定义对象 博客:http://blog.csdn.net/lowprofile_coding/article/details/39367323
Android 下带有排序功能的Tab标签
根据字母排序城市
Android 里的List拖动排序 Android 里的List拖动排序 Android 里的List拖动排序 Android 里的List拖动排序
android Gson转换List集合demo,生成Json字符串,转换为List,对象
实现的功能:混合字符串处理 中英文排序 右侧悬浮栏 顶部名称提示栏 滚动悬浮提示,文件里放置了运行的效果图,实现的效果还是让人很满意的 我开发的环境是intellij idea, 导入到eclipse要注意处理一些问题,具体...
Android API中文集合,Android API中文集合,Android API中文集合,
Android应用源码之Android字母排序 类似通讯录字母检索_应用