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

来源:互联网 发布:网络共享无访问权限 编辑:程序博客网 时间:2024/06/04 00:00
 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 } 2021 /** 22 * 年龄按从小到大排序 23 */ 24 static Comparator<Person> comparator = new Comparator<Person>() { 25 @Override 26 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; //相等为0 33 } 34 } 35 }; 36 37 static private List<Person> getData() { 38 List<Person> list = new ArrayList<>() ; 39 40Person p1 = new Person() ; 41 p1.setAge( 10 ); 42p1.setName( "p1" ); 43 44 Person p2 = new Person() ; 45p2.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 ); 54p4.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 }
阅读全文
0 0
原创粉丝点击