首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

替对象数组进行排序 - Arrays.sort(Object[bean])

2012-09-05 
为对象数组进行排序--- Arrays.sort(Object[bean])简要说明:将需要排序的类实现Comparable接口,重写compar

为对象数组进行排序 --- 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));}}

热点排行