我有一个类(class)如下。
public class MyClass{
int x;
String str;
public MyClass(int x)
{
this.x=x;
}
public static void main(String args[])
{
MyClass[] myclass=new MyClass[10];
Random rnd=new Random();
for(int i=0;i<10;i++)
{
myclass[i]=new MyClass(rnd.nextInt());
}
}
}
现在,在初始化每个数组对象后,我现在希望根据它们的 x 值对其进行排序。是否可以重写 Arrays.sort 方法来执行此操作,或者我需要定义自己的方法?
最佳答案
就您而言,由于您的 MyClass
类显然具有自然顺序,最简单的方法就是让它实现 Comparable界面。
之后,您可以使用the standard sort methods of the Arrays class .
public class MyClass implements Comparable<MyClass> {
int x;
...
@Override
public int compareTo(MyClass o) {
return o.x-x;
}
public static void main(String args[]) {
MyClass[] myarray=new MyClass[10];
...
Arrays.sort(myarray);
}
}
关于java - 定义(或重写)Arrays.sort 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12668451/