在写程序的时候有下面两种方法
Vector a;方法一:
for(int i ; i<a.size(); i++){
……
}
方法二:
int b = a.size();
for(int i ; i<b; i++){
……
}
谁能帮助分析下方法一与方法二的性能。自己感觉好象方法二更好一些。但是有时候写程序的时候,又用到了方法一,自己写了一个时间的测试 在100个情况下根本看不出什么,用时候方法二用的时间比方法一还多。
Vector a;方法一:
for(int i ; i<a.size(); i++){
……
}
方法二:
int b = a.size();
for(int i ; i<b; i++){
……
}
谁能帮助分析下方法一与方法二的性能。自己感觉好象方法二更好一些。但是有时候写程序的时候,又用到了方法一,自己写了一个时间的测试 在100个情况下根本看不出什么,用时候方法二用的时间比方法一还多。
因为方法一每次循环都要进行a.size()的计算但是最终应该相差不了多少,循环的的话可能有点区别
一般推荐用第二种。但是有些情况,a.size()发生变化,而你又要重新去计算 a.size()的时候,还是用方法1但是方法不推荐使用,可以用一些变通的方法来解决。毕竟方法1不安全。
不过也可以搞成
Vector<Integer> a= new Vector<Integer>();
//a.add(1);
for(Integer i:a){
...
}
连size也省了
……
}