java中对类中成员的排序


要求:编写一个程序。程序中定义一个类circle,其中有数据成员radius;创建一个有5个circle型元素的数组,其radius值分别为2、10、8、4、121、调用Arrays.sort()给这个数组排序。

import java.util.*;

public class Circle implements Comparable//要对类中成员变量必须实现实现对Comparable的接口

{
private double radius;
public Circle(double radius)//构造方法
{
this.radius=radius;
}
public void setr(double radius)
{
this.radius=radius;
}
public double getr()
{
return this.radius;
}
@Override
public int compareTo(Object o) //重载方法
{

//我主要是卡在了这里,不知道如何重载方法,后来通过看sort方法源代码发现只要return1,0,-1就能自动排序

 

Circle inner = (Circle)o;     
if(inner.radius>this.radius) return -1;
else if(inner.radius<this.radius) return 1;
else return 0;

}

}

 

public class Main16
{

public static void main(String[] args)
{
Circle[] arr = { new Circle(2), new Circle(10), new Circle(8), new Circle(4), new Circle(12) };


Arrays.sort(arr);
for(int i=0;i<5;i++)
{
System.out.println(arr[i].getr());

}

}

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM