自定义方法实现ArrayList排序

 1 package cn.edu.nwpu.java;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Collection;
 5 
 6 import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Collections;
 7 
 8 public class MyScore {
 9 
10     public static void main(String[] args) {
11         // 实现选择、排序、求平均的问题
12         // java的数组是定长的,要想实现可编程的数组需用集合类ArrayList或者vector
13         // 两者的区别是vector是同步的,但是ArrayList是异步的,这个只在多线程中会遇到,异步更快,同步更安全
14         ArrayList<Double> scores = new ArrayList<>();
15         // .add()方法用于向Arraylist中添加数据
16         scores.add(80.0);
17         scores.add(68.9);
18         scores.add(70.8);
19         scores.add(90.4);
20         System.out.println("最高的分数是:" + MyScore.highestScore(scores));
21         for(int i = 0; i < scores.size(); i++) {
22             System.out.println(scores.get(i));
23         }
24     }
25     
26     /**
27      * 用于对成绩进行排序,然后返回最大值,顺利实现自定义的集合排序
28      * @param ds 带排序的数组
29      * @return 返回最大值
30      */
31     public static double highestScore(ArrayList<Double> ds) {
32         for(int i = 0; i < ds.size(); i++) {
33             for(int j = i+1; j < ds.size(); j++) {
34                 if (ds.get(j) > ds.get(i)) {
35                     double temp;
36                     temp = ds.get(j);
37                     ds.set(j, ds.get(i));
38                     ds.set(i,temp);
39                 }
40             }
41         }
42         return ds.get(0);
43     }
44 
45 }

 

posted @ 2017-09-15 23:55  景寓6号  阅读(618)  评论(0编辑  收藏  举报