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集合根据对象中的某一个属性进行排序,开发了此工具类:
按所推荐的程序在IE下跑了下,的确,排序耗时很小。 代码如下: [removed] /* * 洗牌 */ function ... /* * 快速排序,按某个属性,或按“获取排序依据的函数”,来排序. * @method soryBy * @static * @
主要介绍了Java实现储存对象并按对象某属性排序的几种方法,结合实例形式详细分析了Java储存对象并按对象某属性排序的具体实现方法与操作注意事项,需要的朋友可以参考下
对数据进行排序是必不可少的功能。排序可以分为按单个字段排序和按多个字段不同排序方向排序。单字段排序局限性较大,不能满足用户对数据的关注点变化的需求,而多字段排序就可以较好的弥补这个缺陷。 多字段排序,...
可以通过两种方式自定义对象的属性大小进行比较,对一个list或数组对根据属性排序一个list或数组
不同类型对象组成的列表,根据某个属性或者多个属性进行排序
主要介绍了python实现对象列表根据某个属性排序的方法,结合具体实例形式详细分析了Python对象列表遍历、排序的两种常见操作技巧,需要的朋友可以参考下
(4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排序:按某种需要对职工对象文件进行排序。 3.实现提示 职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。 (1)由键盘输入职工对象...
前段时间跟公司前端对接的时候,一个简单的数据库查询,但是前端说将结果按某个属性分组,每组单独一个集合,集合第一个元素为该属性,第二个元素为该属性值相同的所有对象集合,由于是小白一个,这个数据整理也是花...
这篇文章主要介绍了js 根据对象数组中的属性进行排序实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 var arr = [ {name:'a',age:9}, {...
主要介绍了Java实体类中Set按照对象的某个字段对set排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
包括源程序和课程设计报告 简单的职工管理系统 1.问题描述 对单位的职工进行管理,包括插入、删除、查找、...(4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排序:按某种需要对职工对象文件进行排序。
java中按找对象的某个属性进行升序降序的排序
主要介绍了java ArrayList集合中的某个对象属性进行排序的实现代码,需要的朋友可以参考下
按list中对象的某个属性排序。 在数据库中查出来的列表中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高...
假设有一个对象数组,我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收2个参数,即要比较的值。 可是,我们需要一种方式指明按照哪个属性来排序。 要解决这个问题,可以定义一个...
(4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排序:按某种需要对职工对象文件进行排序。 1.3实现提示 职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。 (1)由键盘输入职工对象...
对职工信息的修改,检索某个职工对象,对其某些属性进行修改,排序,对职工按某种需要对职工对象文件进行排序。特别在对职工信息的排序中,我们可以选择两种排序方法对其某种条件进行排序,即冒泡排序和选择排序,...
a.对单位的职工进行管理,包括插入、删除、查找、排序等功能。 b.系统能实现的操作和功能如下: ...(4)修改:检索某个职工对象,对其某些属性进行修改; (5)排序:按某种需要对职工对象文件进行排序。