A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 兰海忠   /  2011-7-27 02:45  /  2103 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看一天视频了累了看不下去了,进来逛逛吧。在我所看的书籍当中凡是讲到排序的都是对数组的排序。因为数组大小是一定的所以在日常应用中有些麻烦。我们可以试试用ArrayList类代替的 以下下是我写的一个学生分数类的排序方法供大家消遣 希望对大家有所帮助。//排序方法
public static void sortByScore(List<Student> list){//因为排序不属于莫个成员变量特有的属性所这里用了static 修饰符

Student s=null;
for (int i = 0; i < list.size()-1; i++) {
for (int j = list.size()-1; j >i; j--) {
//如果后面的同学的分数大于前面的则交换两个Stundent 对象的位置 注意是整个成员的而不仅仅是分数交换
if(list.get(j).Score>list.get(j-1).Score){
s=list.get(j);
list.set(j, list.get(j-1));
list.set(j-1, s);
}
}
}
}

//输出结果的函数
public static void printout( ArrayList<Student>list){
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).name+"  "+list.get(i).Score);
}
}

//main函数
public static void main(String []args){

ArrayList<Student> list =new ArrayList();
Student stu=new Student("张三", 85);
list.add(stu);

Student stu1=new Student();
stu1.setName("李四");
stu1.setCorse(88);list.add(stu1);
Student stu2=new Student();stu2.setName("王五");
stu2.setCorse(68);
list.add(stu2);           
Student.sortByScore(list);
Student.printout(list);
}
[ 本帖最后由 兰海忠 于 2011-07-27  02:49 编辑 ]

评分

参与人数 1技术分 +2 收起 理由
admin + 2 3点了还在学习,精神可嘉!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马