黑马程序员技术交流社区
标题:
Arrays.sort排序函数问题
[打印本页]
作者:
高鑫
时间:
2012-4-26 22:37
标题:
Arrays.sort排序函数问题
class Demo
{ public static void main(String[] args)
{
int [] arr=new int []{1,3,1,10,5};
Arrays.sort(arr);
xianshi(arr);
}
public static void xianshi(int[] arr)
{for(int x=0;x<arr.length;x++)
System.out.print(arr[x]+",");
}
}
Arrays.sort函数不是JAVA定义好的排序函数吗,为什么编译显示找不到符号Arrays.sort
作者:
chenwei
时间:
2012-4-26 22:42
Arrays是util工具包里的,用的话要导包
import java.util.Arrays;
作者:
张卯
时间:
2012-4-26 22:44
要导包啊兄弟~
作者:
王敏NO.09
时间:
2012-4-26 22:53
导入包即可
import java.util.Arrays;
class ArraySort
{ public static void main(String[] args)
{
int [] arr=new int []{1,3,1,10,5};
Arrays.sort(arr);
xianshi(arr);
}
public static void xianshi(int[] arr)
{for(int x=0;x<arr.length;x++)
System.out.print(arr[x]+",");
}
}
作者:
方海东
时间:
2012-4-26 23:02
加入一条导包语句:java.util.*
作者:
张成龙
时间:
2012-4-26 23:05
需要导入包import java.util.*;
作者:
光sail
时间:
2012-4-26 23:16
兄弟你要导包,要是用eclipse,同时按住Ctrl+Shift+O,自动导入需要的包
作者:
杨志
时间:
2012-4-26 23:35
哥们!找不到符号之类的问题一般都是 没有导包之类的!
我不知道你知不道怎么导包!在java文件的头部加上即可:
import java.util.*;
然后说下今天我做那个基础测试题目的排序。
关于一般的排序。你这样就OK!但是对于对象数组的排序,或者说按照特定关键字的排序!则用到Comparator接口。
要求根据学生student的成绩进行排序:
class MyComparator implements Comparator<Student>{ //这里泛型 指定传入的对象类型
public int compare(Student stu1,Student stu2){ //这里会自动出去两个对象进行比较,根据比较的大小决定是否互换。
if(stu1.getScore() > stu2.getScore()){
return 1 ;
}else{
return 0;
}
}
}
public class SortStudent{
public static void main(String[] args){
Student[] student = new Student[5];
student[0] = new Student("xiaohong",18,89.5f);
student[1] = new Student("xiaoming",20,89f);
student[2] = new Student("xiaobai",17,88f);
student[3] = new Student("xiaotian",19,60.5f);
student[4] = new Student("xiaohua",20,70f);
System.out.println("------------排序之前------------");
for(int i = 0 ; i < student.length ; i ++){
System.out.println("姓名:" + student[i].getName() + " 年龄:" + student[i].getAge() + " 成绩:" + student[i].getScore());
}
Arrays.sort(student, new MyComparator());
//其实这里我感觉有点像是java中的钩子函数,JDK中并没有去实现。而是留出接口让程序员自己去实现。根据MyComparator中函数的返回值来进行排序。
System.out.println("------------排序之后------------");
for(int i = 0 ; i < student.length ; i ++){
System.out.println("姓名:" + student[i].getName() + " 年龄:" + student[i].getAge() + " 成绩:" + student[i].getScore());
}
}
}
以上是我今天查JDK得来的结果。当然也不算是完美。只是写下相当于是一篇总结嘛,拿来互相分享。
作者:
杨志
时间:
2012-4-26 23:36
光sail 发表于 2012-4-26 23:16
兄弟你要导包,要是用eclipse,同时按住Ctrl+Shift+O,自动导入需要的包
哥们!学习了! 这个快捷我还真心不知道!
作者:
HeiMaYSL
时间:
2012-4-27 17:07
少导入了一个包
应加上:
import java.util.Arrays;
作者:
金超
时间:
2012-4-28 01:02
导入import java.util.*;
就行了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2