java 实现List对象中按某种方式进行排序
2014-09-27 21:09
706 查看
需求:对集合中的数据按某种方式进行排序输出,比如集合中存储的对象是Person,现在按person的年龄从大到小输出,首先使用List集合进行存储,在java中如果要进行对对象进行比较的话,则实现Comparable接口,现在看看Comparable接口文档中怎么描述接口 Comparable<T>类型参数:
接口 Comparable<T>类型参数:T
- 可以与此对象进行比较的那些对象的类型实现Comparable接口必须实现CompareTo(T o)
比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
现在进行代码测试Person.javapublic class Person implements Comparable<Person>{ private int age; private String 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; } public Person(int age, String name) { super(); this.age = age; this.name = name; } @Override public int compareTo(Person o) { if(this.age>o.age){ return 1; }else if(this.age<o.age){ return -1; } return 0; } }PersonTest.java
public class PersonTest { public static void main(String[] args) { Person p1 = new Person(24,"zhangsan"); Person p2 = new Person(25,"zhangsan1"); Person p3 = new Person(23,"zhangsan2"); Person p4 = new Person(22,"zhangsan3"); List<Person> persons = new ArrayList<Person>(); persons.add(p2); persons.add(p1); persons.add(p4); persons.add(p3); for(int i=0;i<persons.size();i++){ Person p = persons.get(i); System.out.println(p.getName()+"::::::"+p.getAge()); } } }打印结果:zhangsan1::::::25zhangsan::::::24zhangsan3::::::22zhangsan2::::::23通过打印的结果发现集合中的数据并没有按照年龄进行排序,那是因为List集合内部并没有实现排序,如果还要按年龄输出,必须对集合进行排序
Collections.sort(list);
则可以实现如果使用TreeSet集合就可以对他进行排序,因为TreeSet集合内部实现了对对象的排序相关文章推荐
- Java实现根据List中对象的相应属性进行排序
- Java对象比较器对泛型List进行排序-Demo
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- java实现List中对象排序的方法
- Java对List对象进行排序
- Java对List对象进行排序
- Java借助反射实现自定义对象List的排序
- java实现两个不同list对象合并后并排序
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
- 含中文的List列表按中文拼音排序的实现方式 Java
- Java对List对象进行排序
- java对list里面的对象进行多字段排序(借鉴整理)
- 最简单的对Java List列表按中文拼音排序的实现方式
- java中对List对象集合进行排序
- 【原创】Java 对 List 内对象根据对象属性进行排序
- 【Java】对于自定义对象List进行排序
- java中对List中对象排序实现
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- 最简单的对Java List列表按中文拼音排序的实现方式
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习