Vector对象的遍历效率问题
2009-11-27 19:02
411 查看
代码段一:使用接口Enumeration遍历Vector对象
Java code
Enumeration enrat = myVector.elements();
while(enrat.hasMoreElements())
{
imageBean = (ImageBean)enrat.nextElement();
image = Image.createImage(imageBean.getByteOfImage(), 0, imageBean.getByteOfImage().length);
arg0.drawImage(image, imageBean.getAbscissa(), imageBean.getOrdinate(), Graphics.TOP | Graphics.LEFT);
}
代码段二:使用for循环直接遍历Vector对象
Java code
for (int i = 0;i < myVector.size();i ++)
{
imageBean = (ImageBean)myVector.elementAt(i);
image = Image.createImage(imageBean.getByteOfImage(), 0, imageBean.getByteOfImage().length);
arg0.drawImage(image, imageBean.getAbscissa(), imageBean.getOrdinate(), Graphics.TOP | Graphics.LEFT);
}
代码段三:在代码段二的for循环中,由于每次都要计算Vctor的大小,所以增加一变量j,提高循环效率
Java code
int j = myVector.size();
for (int i = 0;i < j;i ++)
{
imageBean = (ImageBean)myVector.elementAt(i);
image = Image.createImage(imageBean.getByteOfImage(), 0, imageBean.getByteOfImage().length);
arg0.drawImage(image, imageBean.getAbscissa(), imageBean.getOrdinate(), Graphics.TOP | Graphics.LEFT);
}
三种遍历方法的效率对比:
数组大小即循环次数是:1000000 使用Enumeration耗用的时间是59毫秒 使用for循环耗用的时间是88毫秒 使用郭博士for循环耗用的时间是46毫秒
相关文章推荐
- 遍历vector容器的效率问题
- vector, list, deque的选用(vector适用少量对象,list适用大量对象),以及效率问题
- 在DLL间或者DLL与EXE之间传递vector对象或指针的问题
- JQuery遍历对象遇到找不到函数或TypeError问题
- c++ vector 使用效率问题
- vector对象一边遍历一边删除元素
- 在DLL间或者DLL与EXE之间传递vector对象或指针的问题
- 遍历元素的效率问题
- DLL中传递STL参数,vector对象作为dll参数传递等问题(转) (坑死我了)
- 关于对象列表遍历问题。
- 【Stackoverflow好问题】如何遍历map对象(如HashMap)
- List三种遍历方式及效率问题
- 有关于Vector对象的问题
- python dict 遍历key效率问题
- DLL中传递STL参数,vector对象作为dll参数传递等问题(转)
- Vector的效率问题
- 遍历对象的list删除时报错问题。
- [LeetCode] Path Sum II, 关于效率的两个问题: vector还是queue? 传递引用还是拷贝?
- DLL中传递STL参数,vector对象作为dll参数传递等问题(转)
- 解决遍历json时length找不到对象问题