`

Android集合中对象排序

阅读更多

如果将集合中的对象进行排序,最近使用了一个简单的方法解决了,随笔记下来。

 

主要思路:

首先,新建类实现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;
	}

}

 

  • 大小: 1.8 KB
0
2
分享到:
评论

相关推荐

    集合对象排序

    在编程领域,集合对象排序是一项基础且重要的任务,它涉及到数据结构和算法的知识。当我们处理包含多个元素的数据集,如数组、列表或集合时,排序能够帮助我们快速查找、分析和展示信息。本文将深入探讨如何对对象...

    arraylist 对象 数组排序

    在Java编程语言中,ArrayList是...总的来说,对ArrayList中的对象进行排序涉及到Java集合框架的核心概念,包括List接口、Collections工具类以及Comparator接口。理解这些知识点对于编写高效、灵活的Java代码至关重要。

    Android List(集合)中的对象以某一个字段排序案例

    Android List(集合)中的对象以某一个字段排序案例 Android List(集合)中的对象以某一个字段排序案例是 Android 开发中非常重要的一部分。在实际开发中,我们经常需要对一个对象的集合按照某一个字段进行排序,例如...

    Android sort按时间排序

    在Android开发中,数据排序是一项常见的任务,尤其是在处理列表或者集合数据时。"Android sort按时间排序"这个标题指的是在Android应用中,如何按照时间顺序对数据进行排序,这通常涉及到日期和时间对象的比较。这里...

    android 表格 排序 源码

    本示例项目“android 表格 排序 源码”提供了实现Android表格排序功能的完整源码,用户可以点击表头对表格中的数据进行升序或降序排序。下面我们将详细讲解这个功能实现的关键知识点。 1. **使用GridView或...

    Android 可拖拽 排序 GridView

    这个"Android 可拖拽 排序 GridView"的示例项目,是针对如何实现一个用户可以手动拖动元素来改变GridView中元素顺序的功能进行的。这样的功能在很多应用中都非常实用,比如任务管理器、应用抽屉或者自定义桌面布局等...

    Android里List时间升序排序

    在Android开发中,数据的排序是一项常见的操作,特别是在处理列表数据时。本篇文章将深入探讨如何在`List&lt;String&gt;`中实现日期的升序排序。在实际应用中,我们经常遇到日期字符串格式不一致的情况,这使得直接使用`...

    Android实现中文按拼音排序方法

    `strList`是存储待排序数据的集合,可以是任何对象类型,但在`PinyinComparator`的`compare()`方法中需要根据实际数据类型进行相应调整。在示例中,`strList`使用的是`String[]`数组。 接下来,核心部分是`...

    Android sortListview城市人名排序.rar

    "Android sortListview城市人名排序.rar"这个压缩包中包含了一个关于如何在Android ListView中进行城市和人名排序的示例。这里我们将详细探讨相关知识点。 首先,`GBK编码`是一种中文字符编码标准,它是GB2312的...

    Android A-Z排序搜索工具

    在Android平台上,开发一个A-Z排序搜索工具是一个常见的需求,特别是在构建应用的目录或数据库查询功能时。这个工具能够帮助用户高效地查找和组织应用程序中的数据,无论是应用内的项目列表还是用户自定义的数据集合...

    Android ListView的字母索引排序和搜索

    本篇文章将深入探讨如何在Android中实现ListView的字母索引排序和搜索功能。 首先,我们要理解ListView的原理。ListView通过Adapter来加载数据,Adapter是连接数据源和视图的桥梁。当数据源发生变化时,Adapter会...

    android 集合

    这里我们将深入探讨Android集合的相关知识点。 一、ArrayList与LinkedList 1. ArrayList:ArrayList是基于数组实现的集合类,它提供了动态数组的功能,可以在运行时自动调整大小。优点是访问速度快,因为元素可以...

    android 按照字母排序,修改后的

    在Android开发中,经常需要对数据进行排序,例如联系人列表。标题提到的"android 按照字母排序,修改后的"很可能是指一个Android应用中实现了按照字母顺序对联系人姓名进行排序的功能,并且该功能可能是在原有代码的...

    android UI 特效集合

    Android提供了多种动画库,如`ObjectAnimator`、`ValueAnimator`和`PropertyAnimator`,可以实现对象属性的变化动画。例如,淡入淡出、旋转、缩放等效果,让界面操作更具有动态感。 5. **下拉刷新与上拉加载更多**...

    关于android集合的相关总结

    ### 关于Android集合的相关总结 在Java编程语言中,集合框架是进行数据处理与管理的基础工具之一。集合框架主要包括四种核心类型:`Set`、`List`、`Map`以及`Queue`等。本文主要围绕`Set`、`List`、`Map`这三种集合...

    Android开发之对ListView的数据进行排序.txt

    下面展示如何对`Map`类型的集合进行排序: ```java List, Object&gt;&gt; listitem = new ArrayList(); Collections.sort(listitem, new Comparator, Object&gt;&gt;() { @Override public int compare(Map, Object&gt; o1, Map, ...

    Android 中ViewPager重排序与更新实例详解

    本文将详细介绍如何在Android中实现ViewPager的重排序与更新。 首先,当我们在应用程序中更改了数据源(如频道列表)的顺序,并希望通过ViewPager反映出这种变化时,最直观的方法是调用PagerAdapter的`...

    安卓Android源码——字母排序类似通讯录字母检索.zip

    4. **数据结构与排序**: 在源码中,可能会使用ArrayList或其它集合类存储联系人信息。为了实现字母排序,我们需要对数据进行预处理,根据姓名首字母进行排序。这可能涉及到比较器(Comparator)的使用。 5. **触摸...

    SelectCityDome仿美团网,探索ListView的A-Z字母排序功能实现选择省份或者城市AndroidStudio版本已修改为23.zip

    开发者需要先对省份和城市的名称进行排序,这通常可以通过Java的Collections.sort()方法完成,该方法接受一个List和一个Comparator对象,Comparator用于定义比较规则,即按照字母顺序排序。如果数据量较大,还可以...

Global site tag (gtag.js) - Google Analytics