如果将集合中的对象进行排序,最近使用了一个简单的方法解决了,随笔记下来。
主要思路:
首先,新建类实现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; } }
相关推荐
在编程领域,集合对象排序是一项基础且重要的任务,它涉及到数据结构和算法的知识。当我们处理包含多个元素的数据集,如数组、列表或集合时,排序能够帮助我们快速查找、分析和展示信息。本文将深入探讨如何对对象...
在Java编程语言中,ArrayList是...总的来说,对ArrayList中的对象进行排序涉及到Java集合框架的核心概念,包括List接口、Collections工具类以及Comparator接口。理解这些知识点对于编写高效、灵活的Java代码至关重要。
Android List(集合)中的对象以某一个字段排序案例 Android List(集合)中的对象以某一个字段排序案例是 Android 开发中非常重要的一部分。在实际开发中,我们经常需要对一个对象的集合按照某一个字段进行排序,例如...
在Android开发中,数据排序是一项常见的任务,尤其是在处理列表或者集合数据时。"Android sort按时间排序"这个标题指的是在Android应用中,如何按照时间顺序对数据进行排序,这通常涉及到日期和时间对象的比较。这里...
本示例项目“android 表格 排序 源码”提供了实现Android表格排序功能的完整源码,用户可以点击表头对表格中的数据进行升序或降序排序。下面我们将详细讲解这个功能实现的关键知识点。 1. **使用GridView或...
这个"Android 可拖拽 排序 GridView"的示例项目,是针对如何实现一个用户可以手动拖动元素来改变GridView中元素顺序的功能进行的。这样的功能在很多应用中都非常实用,比如任务管理器、应用抽屉或者自定义桌面布局等...
在Android开发中,数据的排序是一项常见的操作,特别是在处理列表数据时。本篇文章将深入探讨如何在`List<String>`中实现日期的升序排序。在实际应用中,我们经常遇到日期字符串格式不一致的情况,这使得直接使用`...
`strList`是存储待排序数据的集合,可以是任何对象类型,但在`PinyinComparator`的`compare()`方法中需要根据实际数据类型进行相应调整。在示例中,`strList`使用的是`String[]`数组。 接下来,核心部分是`...
"Android sortListview城市人名排序.rar"这个压缩包中包含了一个关于如何在Android ListView中进行城市和人名排序的示例。这里我们将详细探讨相关知识点。 首先,`GBK编码`是一种中文字符编码标准,它是GB2312的...
在Android平台上,开发一个A-Z排序搜索工具是一个常见的需求,特别是在构建应用的目录或数据库查询功能时。这个工具能够帮助用户高效地查找和组织应用程序中的数据,无论是应用内的项目列表还是用户自定义的数据集合...
本篇文章将深入探讨如何在Android中实现ListView的字母索引排序和搜索功能。 首先,我们要理解ListView的原理。ListView通过Adapter来加载数据,Adapter是连接数据源和视图的桥梁。当数据源发生变化时,Adapter会...
这里我们将深入探讨Android集合的相关知识点。 一、ArrayList与LinkedList 1. ArrayList:ArrayList是基于数组实现的集合类,它提供了动态数组的功能,可以在运行时自动调整大小。优点是访问速度快,因为元素可以...
在Android开发中,经常需要对数据进行排序,例如联系人列表。标题提到的"android 按照字母排序,修改后的"很可能是指一个Android应用中实现了按照字母顺序对联系人姓名进行排序的功能,并且该功能可能是在原有代码的...
Android提供了多种动画库,如`ObjectAnimator`、`ValueAnimator`和`PropertyAnimator`,可以实现对象属性的变化动画。例如,淡入淡出、旋转、缩放等效果,让界面操作更具有动态感。 5. **下拉刷新与上拉加载更多**...
### 关于Android集合的相关总结 在Java编程语言中,集合框架是进行数据处理与管理的基础工具之一。集合框架主要包括四种核心类型:`Set`、`List`、`Map`以及`Queue`等。本文主要围绕`Set`、`List`、`Map`这三种集合...
下面展示如何对`Map`类型的集合进行排序: ```java List, Object>> listitem = new ArrayList(); Collections.sort(listitem, new Comparator, Object>>() { @Override public int compare(Map, Object> o1, Map, ...
本文将详细介绍如何在Android中实现ViewPager的重排序与更新。 首先,当我们在应用程序中更改了数据源(如频道列表)的顺序,并希望通过ViewPager反映出这种变化时,最直观的方法是调用PagerAdapter的`...
4. **数据结构与排序**: 在源码中,可能会使用ArrayList或其它集合类存储联系人信息。为了实现字母排序,我们需要对数据进行预处理,根据姓名首字母进行排序。这可能涉及到比较器(Comparator)的使用。 5. **触摸...
开发者需要先对省份和城市的名称进行排序,这通常可以通过Java的Collections.sort()方法完成,该方法接受一个List和一个Comparator对象,Comparator用于定义比较规则,即按照字母顺序排序。如果数据量较大,还可以...