星空网 > 软件开发 > Java

Java 中Comparator 的使用,实现集合排序

目标:实现对Person 对象的年龄,从小到大排序

1、实现排序

 

 1 package com.app; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.Comparator; 6 import java.util.List; 7  8 public class A1 extends B{ 9 10   public static void main(String[] args) {11     List<Person> list = getData() ;12     //排序13     Collections.sort( list , comparator );14     15     for (Person person : list) {16       System.out.println("person  " + person.getName() + " " + person.getAge() );17     }18     19   }20 21   /**22    * 年龄按从小到大排序23   */24   static Comparator<Person> comparator = new Comparator<Person>() {25     @Override26     public int compare(Person p1 , Person p2 ) {27       if( p1.getAge() > p2.getAge() ){28        return 1 ; //正数29       }else if ( p1.getAge() < p2.getAge()) {30         return -1 ; //负数31       }else {32         return 0; //相等为033       }34     }35   };36 37   static private List<Person> getData() {38     List<Person> list = new ArrayList<>() ;39 40     Person p1 = new Person() ;41     p1.setAge( 10 ); 42     p1.setName( "p1" );43 44     Person p2 = new Person() ;45     p2.setAge( 30 ); 46     p2.setName( "p2" );47 48     Person p3 = new Person() ;49     p3.setAge( 20 ); 50     p3.setName( "p3" );51 52     Person p4 = new Person() ;53     p4.setAge( 15 ); 54     p4.setName( "p4" );55 56     list.add( p1 ) ;57     list.add( p2 ) ;58     list.add( p3 ) ;59     list.add( p4 ) ;60 61     return list ;62   }63 }


 

2、创建Person类

   

package com.app;public class 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;  }}


3、运行结果(实现对年龄的排序)

    person   p1  10
    person   p4  15
    person   p3  20
    person   p2  30

 

 




原标题:Java 中Comparator 的使用,实现集合排序

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

三态股份公司介绍:https://www.ikjzd.com/w/1056
绿联科技公司介绍:https://www.ikjzd.com/w/1057
valley:https://www.ikjzd.com/w/1058
社交电商是什么?社交化电子商务介绍:https://www.ikjzd.com/w/1059
weee:https://www.ikjzd.com/w/106
Jackmall_jackmall跨境平台:https://www.ikjzd.com/w/1060
2024.03.29亚马逊选品推荐(仅供参考):宠物饮水机滤芯片:https://www.kjdsnews.com/a/1836532.html
想要搞钱,就去做离搞钱最近的事:https://www.kjdsnews.com/a/1836533.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流