网站支付按钮怎么做,wordpress单页导出,wordpress充值金币,郑州广告设计与制作公司建议60:性能考虑,数组是首选 一、分析 数组在实际的系统开发中使用的越来越少#xff0c;我们通常只有在阅读一些开源项目时才会看到它们的身影#xff0c;在Java中它确实没有List、Set、Map这些集合使用起来方便#xff0c;但是在基本类型处理方面#xff0c;数组还是占优…建议60:性能考虑,数组是首选 一、分析 数组在实际的系统开发中使用的越来越少我们通常只有在阅读一些开源项目时才会看到它们的身影在Java中它确实没有List、Set、Map这些集合使用起来方便但是在基本类型处理方面数组还是占优势的而且集合的底层也是通过数组实现。 二、场景 比如对一个数据集求和的计算 1 //对数组求和
2 public static int sum(int[] datas){
3 int sum 0;
4 for(int i 0; I datas.length; I){
5 sum datas[i];
6 }
7 return sum;
8 } 对于一个int类型的数组求和取出所有元素的数组元素并相加此算法中如果是基本类型则使用数组效率最高,使用集合效率次之. 1 //对列表求和计算
2 public static int sum(ListInteger datas){
3 int sum 0;
4 for(int i 0; i datas.size(); i){
5 sum datas.get(i);
6 }
7 return sum;
8 } 注意才相加求和的运算中做了一个拆箱动作(sum datas.get(i); )这对于性能濒于临界的系统是比较危险的。 在初始化List的时候要进行装箱动作把一个int类型包装成一个Integer对象,虽然有整形池在但不在整型池范围都会产生一个新的Integer对象。 众所周知基本类型是在栈内存操作的而对象则是在堆内存中操作的。栈内存的特点是速度快容量小堆内存的特点是速度慢容量大从性能上讲基本类型的处理占优势。 其次,在进行求和计算(或者其他遍历计算) 时要做拆箱动作,因此无谓的性能消耗也就产生了. 三、建议 性能要求较高的场景中使用数组替代集合。在实际测试中发现对于基本类型进行求和计算时数组的效率是集合的10倍。 转载于:https://www.cnblogs.com/DreamDrive/p/5418528.html