打字猴:1.7004438e+09
1700443800
1700443801 public static void main(String[]args){
1700443802
1700443803 //学生数量,80万
1700443804
1700443805 int stuNum=80*10000;
1700443806
1700443807 //List集合,记录所有学生的分数
1700443808
1700443809 List<Integer>scores=new LinkedList<Integer>();
1700443810
1700443811 /*其他代码没有改变,不再赘述*/
1700443812
1700443813 }
1700443814
1700443815 public static int average(List<Integer>list){
1700443816
1700443817 int sum=0;
1700443818
1700443819 //foreach遍历求和
1700443820
1700443821 for(int i:list){
1700443822
1700443823 sum+=i;
1700443824
1700443825 }
1700443826
1700443827 //除以人数,计算平均值
1700443828
1700443829 return sum/list.size();
1700443830
1700443831 }
1700443832
1700443833 运行的结果如下:
1700443834
1700443835 平均分是:74
1700443836
1700443837 执行时间:16ms
1700443838
1700443839 确实如此,也是16毫秒,效率非常高。可能大家还想要测试一下下标方式(也就是采用get方法访问元素)遍历LinkedList元素的情况,其实不用测试,效率真的非常低,我们直接看源码:
1700443840
1700443841 public E get(int index){
1700443842
1700443843 return entry(index).element;
1700443844
1700443845 }
1700443846
1700443847 由entry方法查找指定下标的节点,然后返回其包含的元素,看entry方法:
1700443848
1700443849 private Entry<E>entry(int index){
[ 上一页 ]  [ :1.7004438e+09 ]  [ 下一页 ]