Java 中Comparator 的使用,实现集合排序
生活随笔
收集整理的這篇文章主要介紹了
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 @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 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
?
?
轉載于:https://www.cnblogs.com/zhaoyanjun/p/4538379.html
總結
以上是生活随笔為你收集整理的Java 中Comparator 的使用,实现集合排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android SharedPrefer
- 下一篇: CUDA ---- device管理