打字猴:1.700443694e+09
1700443694 编写高质量代码:改善Java程序的151个建议 [:1700438138]
1700443695 编写高质量代码:改善Java程序的151个建议 建议67:不同的列表选择不同的遍历方法
1700443696
1700443697 我们来思考这样一个案例:统计一个省的各科高考平均值,比如数学平均分是多少,语文平均分是多少等,这是每年招生办都会公布的数据,我们来想想看该算法应如何实现。当然使用数据库中的一个SQL语句就能求出平均值,不过这不再我们的考虑之列,这里还是使用纯Java的算法来解决之,看代码:
1700443698
1700443699 public static void main(String[]args){
1700443700
1700443701 //学生数量,80万
1700443702
1700443703 int stuNum=80*10000;
1700443704
1700443705 //List集合,记录所有学生的分数
1700443706
1700443707 List<Integer>scores=new ArrayList<Integer>(stuNum);
1700443708
1700443709 //写入分数
1700443710
1700443711 for(int i=0;i<stuNum;i++){
1700443712
1700443713 scores.add(new Random().nextInt(150));
1700443714
1700443715 }
1700443716
1700443717 //记录开始计算时间
1700443718
1700443719 long start=System.currentTimeMillis();
1700443720
1700443721 System.out.println(“平均分是:”+average(scores));
1700443722
1700443723 System.out.println(“执行时间:”+(System.currentTimeMillis()-start)+“ms”);
1700443724
1700443725 }
1700443726
1700443727 //计算平均数
1700443728
1700443729 public static int average(List<Integer>list){
1700443730
1700443731 int sum=0;
1700443732
1700443733 //遍历求和
1700443734
1700443735 for(int i:list){
1700443736
1700443737 sum+=i;
1700443738
1700443739 }
1700443740
1700443741 //除以人数,计算平均值
1700443742
1700443743 return sum/list.size();
[ 上一页 ]  [ :1.700443694e+09 ]  [ 下一页 ]