求助:如何将Array[Object obj]按obj中的某个成员(int型)排序?? java.util.Arrays.(array)但是前提是你的类array得实现java.lang.Comparable这个接口,按什么方式排序就写在:public int compareTo(Object o)里就好了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.util.Arrays.(array)-------应该是java.util.Arrays.sort(array) 楼上的好厉害可以指定ComparatorArrays.sort(arr,new Comaparator(){ public int compare(Object o1,Object o2){ MyObj m1=(MyObj)o1;MyObj m2=(MyObj)o2; return m1.cnt-m2.cnt;} }); 我不太明白,我刚学java,在eclipse下我曾使用过静态方法Array.sort(int[] Aarray),它的提示里边没有方法原型:Arrays.sort(ObjectArray,Comaparator());(再问:如果有,Comparator()还可以在哪定义呢?--------这样 ??Array.sort(...);Comparator implements Comparable {...}-----------------------------------Array这个系统类的接口定义在哪??还有那个Comparator怎么理解?我理解Comparable接口是Object类的,而方法Array.sort(someclass[] ObjectsArray)会调用ObjectArray的Comparable方法进行排序。 treeroot(根根)不能笑偶啊,才刚刚学到一点点,昨天还有两个问题没注意回答错了, Array没有sort,Arrays才有,下面的是我写的排序,很烂-----------------------------import java.util.*;class Groundhog implements Comparable{ int i; Groundhog(int i){ this.i = i; } public String toString(){ return "Groundhog " + i; } public int compareTo(Object o){ return (this.i > ((Groundhog)o).i ? 1:(this.i == ((Groundhog)o).i? 0 : -1)); }}public class SpringDetector{ public static void main(String[] args){ Groundhog[] arr = new Groundhog[10]; for(int i = 0; i < arr.length; i++){ arr[i] = new Groundhog((int)(Math.random() * 10)); } System.out.println("Befor Sorted"); for(int i = 0; i < arr.length; i++){ System.out.println(arr[i]); } Arrays.sort(arr); System.out.println("After Sorted"); for(int i = 0; i < arr.length; i++){ System.out.println(arr[i]); } }} Arrays里的sort方法不是什么都可以排列的吧,学习 求解该程序的运行结果! 关于PV操作的一道题! ResourceBundle.getBundle时,无法读取最新文件内容 QName的问题(表示 XML 规范中定义的限定名称):命名空间Uri、本本地部分localPart、前缀它们代表是什么意思啊! java io类库中的文件读问题 请问一个多线程访问某个类的静态方法的问题。 求助java编写类似于QQ代理设置的代理程序 菜鸟问题 中华新闻组闪亮登场 test 紧急问题,求救 ResultSet.updateString("name", null); 不能运行?
应该是java.util.Arrays.sort(array)
可以指定Comparator
Arrays.sort(arr,new Comaparator(){ public int compare(Object o1,Object o2){
MyObj m1=(MyObj)o1;MyObj m2=(MyObj)o2;
return m1.cnt-m2.cnt;}
});
Comparator implements Comparable {...}-----------------------------------
Array这个系统类的接口定义在哪??
还有那个Comparator怎么理解?
我理解Comparable接口是Object类的,而方法Array.sort(someclass[] ObjectsArray)会调用ObjectArray的Comparable方法进行排序。
不能笑偶啊,才刚刚学到一点点,
昨天还有两个问题没注意回答错了,
下面的是我写的排序,很烂-----------------------------
import java.util.*;class Groundhog implements Comparable{
int i;
Groundhog(int i){
this.i = i;
}
public String toString(){
return "Groundhog " + i;
}
public int compareTo(Object o){
return (this.i > ((Groundhog)o).i ?
1:(this.i == ((Groundhog)o).i? 0 : -1));
}
}public class SpringDetector{
public static void main(String[] args){
Groundhog[] arr = new Groundhog[10];
for(int i = 0; i < arr.length; i++){
arr[i] = new Groundhog((int)(Math.random() * 10));
}
System.out.println("Befor Sorted");
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
Arrays.sort(arr);
System.out.println("After Sorted");
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
}
}