Arrays.sort 排序个人笔记

 

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.Date;

import java.util.List;

import org.apache.commons.lang.time.DateUtils;

 

 

public class ArraySortTest {

private static DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");

public static void main(String[] args) {

//时间

Date date = new Date(),date1 = new Date(),date2 = new Date();

date = DateUtils.addDays(date, 1);

date1 = DateUtils.addDays(date1, 2);

date2 = DateUtils.addDays(date2, 3);

List<Date> listDate = new ArrayList<Date>();

listDate.add(date);

listDate.add(date1);

listDate.add(date2);

List<String> listStr = new ArrayList<String>();

for (Date date3 : listDate){

listStr.add(dateFormat.format(date3));

}

System.out.println(listStr.toString());

Collections.sort(listDate, new Comparator<Date>(){

@Override

public int compare(Date o1,Date o2){

int value = o1.after(o2) ? -1 : 1;

System.out.println(" date: " + value);

return value;

}

});

List<String> listStr1 = new ArrayList<String>();

for (Date date3 : listDate){

listStr1.add(dateFormat.format(date3));

}

System.out.println(listStr1.toString());

//数字

int a = 1,b=2,c=3;

List<Integer> listInt = new ArrayList<Integer>();

listInt.add(a);

listInt.add(b);

listInt.add(c);

Collections.sort(listInt, new Comparator<Integer>(){

@Override

public int compare(Integer o1, Integer o2) {

int value = o1>o2 ? 1 : -1;

System.out.println(" int: " + value);

return value;

}

});

System.out.println(listInt.toString());

}

 

}

 

结果:

 

 

[2012年03月27日, 2012年03月28日, 2012年03月29日]

 date: 1

 date: 1

 date: 1

[2012年03月29日, 2012年03月28日, 2012年03月27日]

 int: -1

 int: -1

[1, 2, 3]

 

在定制排序的时候,返回 -1 是顺序排序 1 是倒序 记下,有个时候容易搞混。

你可能感兴趣的:(Arrays)