读书人

ArrayList:用add顶替remove

发布时间: 2012-12-26 14:39:28 作者: rapoo

ArrayList:用add代替remove
  System.out.println("using New List:" a "ms");
  System.out.println("using Remove Method:" b "ms");
  System.out.println("New VS Remove:" (double)a/b ":1");
}
public static void main(String[] args) {
  long t1,t2;
  int total=100* 1000;
  int cnt=1;
  while(cnt<=total){
    test(total,cnt);
    cnt*=10;
  }

}
运行结果是:
List Size:1
using New List:63ms
using Remove Method:31ms
New VS Remove:2.032258064516129:1
List Size:10
using New List:16ms
using Remove Method:47ms
New VS Remove:0.3404255319148936:1
List Size:100
using New List:15ms
using Remove Method:16ms
New VS Remove:0.9375:1
List Size:1000
using New List:15ms
using Remove Method:63ms
New VS Remove:0.23809523809523808:1
List Size:10000
using New List:31ms
using Remove Method:281ms
New VS Remove:0.1103202846975089:1
List Size:100000
using New List:94ms
using Remove Method:2547ms
New VS Remove:0.03690616411464468:1

可以看出当List的大小不到100,效率是不相上下的,但是如果ArrayList大小大于1000时差别就非常明显了!如果ArrayList比较大,就可以使用add方法代替remove方法来提高性能,也就是说我们要尽量避免使用remove方法!
这里需要说明的是:我们不需要担心内存空间的问题,因为我们并没有生成新的对象。 我今天刚好碰到这个问题,既然博主做了实验了,我就不做重复劳动了!
3Q

读书人网 >编程

热点推荐