`
coderzhcn
  • 浏览: 19071 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

对对象按对象的某个属性进行排序

 
阅读更多
public class Student<T> implements Comparable<T> {

private int age;
private String name;

public Student() {
super();
}

public Student(int age, String name) {
super();
this.age = age;
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Override
public int compareTo(Object o) {

if (o == null) {
try {
throw new Exception("该对象为空!");
} catch (Exception e) {
e.printStackTrace();
}
}

if (!(this.getClass().getName().equals(o.getClass().getName()
.toString()))) {
try {
throw new Exception("该对象的类名不一致!");
} catch (Exception e) {
e.printStackTrace();
}
}

if (!(o instanceof Student)) {
try {
throw new Exception("该对象不是Student的实例!");
} catch (Exception e) {
e.printStackTrace();
}
}
Student student = (Student) o;

return this.getAge() - student.getAge();
}
}


对某个对象按照对象的某个属性进行排序,没必要自己写一些方法,进行排序。

利用JDK的Collections的排序方法即可,

1、该对象的实现Comparable<T>接口

2、重写public int compareTo(Object o)方法。

3、测试方法

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
List<Student> students = new ArrayList<Student>();
students.add(new Student(29, "张三"));
students.add(new Student(28, "张三"));
students.add(new Student(30, "张三"));
students.add(new Student(31, "张三"));
students.add(new Student(24, "张三"));
students.add(new Student(25, "张三"));
students.add(new Student(27, "张三"));
// 进对象集合进行排序
Collections.sort(students);


// 遍历集合
for (Student s : students) {
System.out.println("age:" + s.getAge() + " name:" + s.getName());
}

}

}

分享到:
评论

相关推荐

    List集合按照对象中某个属性排序通用工具类(按对象中某属性排序)

    在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:

    js对象数组按属性快速排序

    按所推荐的程序在IE下跑了下,的确,排序耗时很小。 代码如下: [removed] /* * 洗牌 */ function ... /* * 快速排序,按某个属性,或按“获取排序依据的函数”,来排序. * @method soryBy * @static * @

    Java实现储存对象并按对象某属性排序的几种方法示例

    主要介绍了Java实现储存对象并按对象某属性排序的几种方法,结合实例形式详细分析了Java储存对象并按对象某属性排序的具体实现方法与操作注意事项,需要的朋友可以参考下

    JavaScript对象数组如何按指定属性和排序方向进行排序

    对数据进行排序是必不可少的功能。排序可以分为按单个字段排序和按多个字段不同排序方向排序。单字段排序局限性较大,不能满足用户对数据的关注点变化的需求,而多字段排序就可以较好的弥补这个缺陷。 多字段排序,...

    Compable和Comparator自定义对象属性排序

    可以通过两种方式自定义对象的属性大小进行比较,对一个list或数组对根据属性排序一个list或数组

    多个对象列表排序

    不同类型对象组成的列表,根据某个属性或者多个属性进行排序

    python实现对象列表根据某个属性排序的方法详解

    主要介绍了python实现对象列表根据某个属性排序的方法,结合具体实例形式详细分析了Python对象列表遍历、排序的两种常见操作技巧,需要的朋友可以参考下

    职工工资管理C++源代码

    (4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排序:按某种需要对职工对象文件进行排序。 3.实现提示  职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。 (1)由键盘输入职工对象...

    根据某个属性对List中的所有对象分组,该属性值相同的对象分到一个组

    前段时间跟公司前端对接的时候,一个简单的数据库查询,但是前端说将结果按某个属性分组,每组单独一个集合,集合第一个元素为该属性,第二个元素为该属性值相同的所有对象集合,由于是小白一个,这个数据整理也是花...

    js 根据对象数组中的属性进行排序实现代码

    这篇文章主要介绍了js 根据对象数组中的属性进行排序实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 var arr = [ {name:'a',age:9}, {...

    Java实体类中Set按照对象的某个字段对set排序

    主要介绍了Java实体类中Set按照对象的某个字段对set排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    简单的职工管理系统

    包括源程序和课程设计报告 简单的职工管理系统 1.问题描述  对单位的职工进行管理,包括插入、删除、查找、...(4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排序:按某种需要对职工对象文件进行排序。

    java中进行集合排序

    java中按找对象的某个属性进行升序降序的排序

    java ArrayList集合中的某个对象属性进行排序的实现代码

    主要介绍了java ArrayList集合中的某个对象属性进行排序的实现代码,需要的朋友可以参考下

    List对象排序通用方法

    按list中对象的某个属性排序。 在数据库中查出来的列表中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高...

    JS实现给数组对象排序的方法分析

    假设有一个对象数组,我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收2个参数,即要比较的值。 可是,我们需要一种方式指明按照哪个属性来排序。 要解决这个问题,可以定义一个...

    数据结构课程设计 职工管理系统 c语言代码

    (4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排序:按某种需要对职工对象文件进行排序。 1.3实现提示  职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。 (1)由键盘输入职工对象...

    c语言做的简单职工管理系统

    对职工信息的修改,检索某个职工对象,对其某些属性进行修改,排序,对职工按某种需要对职工对象文件进行排序。特别在对职工信息的排序中,我们可以选择两种排序方法对其某种条件进行排序,即冒泡排序和选择排序,...

    课程设计-基于C语言的职工管理系统(源码+exe可执行程序+报告).zip

    a.对单位的职工进行管理,包括插入、删除、查找、排序等功能。 b.系统能实现的操作和功能如下: ...(4)修改:检索某个职工对象,对其某些属性进行修改; (5)排序:按某种需要对职工对象文件进行排序。

Global site tag (gtag.js) - Google Analytics