一步一步学习java数组学习(ch5)对象数组的排序
2011-11-18 17:29
357 查看
public class Test{ public static void main(String[] args){ Date[] days = new Date[5]; days[0] = new Date(2006,5,4); days[1] = new Date(2006,7,4); days[2] = new Date(2008,5,4); days[3] = new Date(2004,5,9); days[4] = new Date(2004,5,4); bubbleSort(days); for(int i=0;i<days.length;i++){ System.out.println(days[i]); //调用了tostring方法 } } public static Date[] bubbleSort(Date[] a){ //冒泡排序 for(int i = a.length-1;i>=1;i--){ //从数组最后一个开始 for(int j = 0;j<=i-1;j++){ if(a[j].compare(a[j+1])>0){ //调用了date类的compare方法 Date tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } } return a; } } class Date{ private int day,month,year; Date(int year,int month,int day){ this.day = day; this.month = month; this.year = year; } public int compare(Date d){ return year > d.year? 1 :year < d.year? -1 :month > d.month? 1 :month > d.month? -1 :day > d.day? 1 :day < d.day? -1 : 0; } public String toString(){ //重写object类的tostring方法 return "year:month:day"+this.year+"-"+this.month+"-"+this.day; } }
今天学习的创建对象数组,然后通过对象的比较方法排序。。
执行结果如下
相关文章推荐
- 一步一步学习java数组学习(ch5)int数组排序
- 一步一步学习java数组学习(ch5)数3退1记录最后留下来的在队列中的位置
- 一步一步学习java数组学习(ch5)数3退1记录最后留下来的在队列中的位置
- JAVA学习代码——数组排序
- Java学习笔记一:基本语法:类和对象的介绍、数组、引用类型
- Java学习笔记(一)对象数组的初始化
- Java基础学习应用_数组常用方法与排序(二)
- JAVA数组对象排序维护
- 数组排序、递归——(Java学习笔记二)
- Java学习日志(21-2-IO流-基本数据类型与字节数组对象与、编码解码)
- Java学习笔记之数组排序算法
- JNI学习笔记:(1)开篇(2)本地代码访问Java代码 (3)本地方法取得Java属性/调用java方法 (4)本地代码创建Java对象(包括javaString) (5) 本地方法处理java数组
- JNI学习笔记 C++传递结构体、String、数组对象给JavaC++传递结构体、String、数组对象给Java
- java学习日记_75:集合框架之对象数组和集合的引入
- java基础学习记录之数组选择排序的学习与练习二
- java 对象数组排序
- NO4.java学习笔记(数组、数组的操作【遍历、排序、查找】)
- JAVA 学习日志 一个坦克游戏,关于数组对象、键盘监听、双缓冲、重写
- JAVA基础day04 数组学习 排序和查找基本算法
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释