2011-04-24 55 views
29

由於標題說我在想,ArrayList的contains()方法的時間複雜度是多少。對象的ArrayList中的contains(Object o)的時間複雜度

+4

如果你想更快地查找(在更大的內存使用情況的成本),並且您的列表沒有(從視圖equals'的'點和'hashCode')重複元素,你可以使用'LinkedHashSet'。 – 2011-04-24 16:37:25

+0

這實際上可能是我的情況,謝謝:) – Samuel 2011-04-24 16:39:11

+0

如果ArrayList被排序會更快嗎? – Roberto 2012-09-17 23:40:55

回答

38
O(n) 

sizeisEmptygetsetiterator,並listIterator操作在固定時間內運行。 add運行在分期付款恆定時間,也就是說,添加n個元素需要O(n)時間。所有其他操作都在線性時間內運行(粗略地說)。與LinkedList實現相比,常數因子較低。

http://download.oracle.com/javase/6/docs/api/java/util/ArrayList.html

相關問題