Java中先按照姓名排序在按照年齡排序 代碼

package cn.Home;java

import java.util.Arrays;
import java.util.Comparator;ide

import org.junit.Test;this

public class Demo03 {
 @Test
 public void test1() {
  // 默認全部系統的類Int,Integer,double ,float ,String能夠排序
  Stud[] studs = new Stud[] { new Stud("Jerry",21), new Stud("Jerry",20),
    new Stud("Alex", 9), new Stud("Jack",23),new Stud("Jack",16) };
  Arrays.sort(studs, new Comparator<Stud>() {
   @Override
   public int compare(Stud o1, Stud o2) {
   //**************************************************
    //若是姓名相同,則用年齡進行比較;
    if (o1.getName().equals(o2.getName())){ 
     return -1;
    }
   //**************************************************
    return o1.getName().compareTo(o2.getName());
    
   }      
  });
  System.err.println(Arrays.toString(studs));
 }.net

}排序

class Stud {
 private String name;
 private int age;get

 public Stud(String name, int age) {
  this.name = name;
  this.age = age;
 }it

 public String getName() {
  return name;
 }class

 public int getAge() {
  return age;
 }test

 @Override
 public String toString() {
  return "Stud [name=" + name + ", age=" + age + "]";
 }import

}

相關文章
相關標籤/搜索