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

王朝学院·作者佚名  2016-05-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

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 { 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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航