【发布时间】:2015-08-30 13:03:05
【问题描述】:
假设我们有一个项目集合。两者哪个更快?
HashMap<String, ObjectFoo> hashmap = new HashMap<String, ObjectFoo>();
/* .... add elements .... */
ObjectFoo theElement = hashmap.get("nameOfObject");
或者
ArrayList<ObjectFoo> arraylist = new ArrayList<Object>();
/* .... add elements .... */
Iterator<ObjectFoo> itFoo = arraylist.iterator();
ObjectFoo obj;
while(itFoo.hasNext()) {
obj = itFoo.next();
if (obj.name.equals("nameOfObject")) return obj;
}
假设:
public class ObjectFoo {
public String name;
}
【问题讨论】:
-
哈希表存在的唯一原因是随机访问的速度。所以猜一猜。