为对象数组进行排序 --- Arrays.sort(Object[bean])
简要说明:
将需要排序的类实现Comparable接口,重写compareTo方法。
进而实现对象数组排序(升序降序)
?
?
----------------------------------------------------------
注:升序时,将重写的compareTo方法 return 结果对调
?
package Test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;//实现Comparable接口,使该类的对象可排序public class impl_Comparable implements Comparable<impl_Comparable> {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 该类的属性Datepublic Date date = new Date();public impl_Comparable(String str) {try {date = sdf.parse(str);} catch (ParseException e) {}}// 实现Comparable接口,按降序排列 datepublic int compareTo(impl_Comparable o) {// 当this.date大于o.date时间,即n>0long n = date.getTime() - o.date.getTime();if (n > 0) {// 当方法返回 -1 时:把参数对象往后放。(前this.date , 后o.date)return -1;} else {// 当方法返回 1 时 :把参数对象往前放。(前o.date , 后this.date)return 1;}}// 重载toString方法定义输出public String toString() {return sdf.format(date);}public static void main(String[] args) {// 建立一个数组, 元素为3个TestComparable对象impl_Comparable[] c = new impl_Comparable[] { new impl_Comparable("2012-07-12"),new impl_Comparable("2012-07-1"),new impl_Comparable("2012-12-12"), new impl_Comparable("2016-07-12"), new impl_Comparable("2016-08-12"), new impl_Comparable("2016-07-31"), new impl_Comparable("1989-05-01")};// 排序前System.out.println(Arrays.asList(c));// 排序Arrays.sort(c);// 排序后System.out.println(Arrays.asList(c));}}