关闭

List 中对象按属性排序

191人阅读 评论(0) 收藏 举报
分类:
Collections.sort()方法可以对List对象进行排序,用户需要按特定属性进行排序,有两种实现方法:
1. public static <T extends Comparable<? super T>> void sort(List<T> list)
   使用Collection的这个方法,需要T类的对象实现Comparable接口,如下:


class Employee implementsComparable<Employee>{
    privateInteger pay;


    publicEmployee(int pay){
       this.pay=pay;
    }


    public void show(){
        System.out.println(pay);
    }

    @Override
    public int compareTo(Employee o) {
        return this.pay.compareTo(o.pay);
    }
}

   测试一下:

public class Test{
    publicstatic void main(String[] args) {
     List<Employee>list=new ArrayList<Employee>();
     list.add(new Employee(22));
     list.add(new Employee(1));
     list.add(new Employee(233));
     list.add(new Employee(12));
     list.add(new Employee(165));

     Collection.sort(list);
      for(Employeee:list){
         e.show();
     }

}

    输出结果如下
   1
    12
    22
    165
   233
2.public static<T> voidsort(List<T> list,Comparator<?superT> c) 

class Employer{
    private Integer age;
    public Employer(int age) {
        this.age=age;
    }
    public voidshow(){
        System.out.println(age);
    }
    publicInteger getAge(){
        return this.age;
    }
}
    测试一下

publicclass Test{

   public static void main(String[] args) {
     List<Employer> list=newArrayList<Employer>();
     list.add(new Employer(22));
     list.add(new Employer(1));
     list.add(new Employer(233));
     list.add(new Employer(12));
     list.add(newEmployer(165));
     Collections.sort(list,newComparator<Employer>() {
         @Override
         public int compare(Employer o1, Employer o2) {
             returno1.getAge().compareTo(o2.getAge());
         }
     });
     for(Employer e:list){
         e.show();
      
}

   

}

0
0
查看评论

按照list中对象的属性排序

一个集合,集合存储着若干对象,对象有若干属性,希望按照对象的某个属性排序,排序完成,list的存储顺序也是按照这个属性排完以后的顺序。 public class User { private String username; private int age; publi...
  • u012932720
  • u012932720
  • 2017-01-16 16:15
  • 1302

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

在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了如下工具类: package test; import java.lang.reflect.Field; import java.lang.reflect.In...
  • kpchen_0508
  • kpchen_0508
  • 2015-08-29 13:11
  • 2654

list排序,根据list中存放对象的某一属性排序

1.Student的Bean如下: public class Student { private int age; private String name; private String weight; public String getWeight() { return w...
  • sdzhangshulong
  • sdzhangshulong
  • 2016-08-12 14:48
  • 11007

List集合根据存储对象的属性字段排序实现

List集合根据存储对象的属性字段排序实现 package com.huixin;import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * ListSort类 * * @auth...
  • u013821825
  • u013821825
  • 2017-03-10 17:55
  • 2008

List集合对象中按照不同属性大小排序

package com.huad.luck; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Te...
  • one_isi_all
  • one_isi_all
  • 2015-11-25 14:00
  • 3032

Python 列表中存储类对象时按照指定属性进行排序——用于正排表的排序

搜索引擎中,在建立了正排表后需要对正排表按照wordId进行排序,且该排序要保持稳定的特性。因此想到了在 python 的列表中存储一个类,通过指定类的某个属性来进行排序。具体代码如下: 1.首先定义类,按照需求定义: class pageObj: url = ''...
  • Virtual_Func
  • Virtual_Func
  • 2015-11-05 18:08
  • 3795

C#List<>能按照List中的对象某个属性排序

c# LC#List c# List 能Cdsadgbnhbfjhsa #List 中的对象某个C#List
  • liushuo_whu
  • liushuo_whu
  • 2014-08-22 20:11
  • 1977

C# List按照对象属性进行排序

一、这是一个实体类和一个比较器 class Cal { public string name; public double price; public Cal(string n,double p) { ...
  • chaiqunxing51
  • chaiqunxing51
  • 2017-01-16 18:00
  • 1283

List中对象按照属性时间升序排序

List集合中按照对象时间属性升序排序
  • u011935772
  • u011935772
  • 2016-12-19 17:32
  • 1551

java根据List内对象的属性排序

方法一:实现Comparator接口,并重写compare方法 实体类代码: import java.util.Comparator;/** * 学生类 方法一 * 实现Comparator接口 * 并重写compare方法 * @author liaot * */ public c...
  • c1481118216
  • c1481118216
  • 2016-12-07 00:20
  • 2384
    个人资料
    • 访问:8835次
    • 积分:177
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:13篇
    • 译文:0篇
    • 评论:0条
    文章分类