打字猴:1.70044382e+09
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){
1700443850
1700443851 /*检查下标是否越界,代码不再拷贝*/
1700443852
1700443853 Entry<E>e=header;
1700443854
1700443855 if(index<(size>>1)){
1700443856
1700443857 //如果下标小于中间值,则从头节点开始搜索
1700443858
1700443859 for(int i=0;i<=index;i++)
1700443860
1700443861 e=e.next;
1700443862
1700443863 }else{
1700443864
1700443865 //如果下标大于等于中间值,则从尾节点反向遍历
1700443866
1700443867 for(int i=size;i>index;i—)
1700443868
1700443869 e=e.previous;
[ 上一页 ]  [ :1.70044382e+09 ]  [ 下一页 ]