如何对List集合中的对象进行按某个属性排序 您所在的位置:网站首页 list根据属性排序 如何对List集合中的对象进行按某个属性排序

如何对List集合中的对象进行按某个属性排序

2023-08-22 12:19| 来源: 网络整理| 查看: 265

我们在实际的开发工作中,经常会碰到排序的问题,如题,我们如何针对List集合中的某一个属性进行排序

当list集合中的元素类型是我们自定义类型时,有两种对list中的元素进行排序的方法:

方法一

  让list集合中的元素类型,也就是我们自定义的类实现Comparable接口,并在类中编写public int compareTo(T o)方法。如下所示:

1 public class Test 2 { 3 public static void main(String[] args) 4 { 5 ArrayList list=new ArrayList(); 6 list.add(new Entity("李四",24)); 7 list.add(new Entity("张三",13)); 8 list.add(new Entity("王五",25)); 9 System.out.println("排序前:"+list); 10 Collections.sort(list); 11 System.out.println("排序后:"+list); 12 } 13 } 14 class Entity implements Comparable 15 { 16 String name; 17 int age; 18 public Entity(String name, int age) { 19 super(); 20 this.name = name; 21 this.age = age; 22 } 23 public String getName() { 24 return name; 25 } 26 public void setName(String name) { 27 this.name = name; 28 } 29 public int getAge() { 30 return age; 31 } 32 public void setAge(int age) { 33 this.age = age; 34 } 35 @Override 36 public String toString() { 37 return "Entity [name=" + name + ", age=" + age + "]"; 38 } 39 @Override 40 public int compareTo(Entity o) 41 { 42 if(this.getAge()>o.getAge()) 43 { 44 return 1; 45 } 46 else if(this.getAge()o2.getAge()) 15 { 16 return 1; 17 } 18 else if(o1.getAge()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有