2009-05-14 7 views

答えて

54

それは(Oです1)。あなたは、ソースコードのためのgoogleすることができますし、そのように来る:http://www.docjar.com/html/api/java/util/LinkedList.java.html

から

私は変数としてサイズの店で見てきたコレクションクラスのすべてをし、それを得るためにすべてを反復処理していません。

+2

NetBeansでCtrlキーを押しながらクリックすると、Googleよりも高速に検索されます。 – Superole

12

のLinkedListからO(1)あなたがソースコードを見ていたあなたが発見したと同じように...

private transient int size = 0; 

...

/** 
* Returns the number of elements in this list. 
* 
* @return the number of elements in this list 
*/ 
public int size() { 
    return size; 
} 
+4

Sunの実装をまったく使用していないのであれば? http://en.wikipedia.org/wiki/Java_Class_Library#Alternative_implementations 私は彼の質問は、特定の実装/バージョンでO(1)であるかどうかではなく、O(1)であることが保証されているかどうかということです。 – jalf

+1

LinkedListが導入されたときの実装は1.2以降であるため、常にO(1) –

+5

になります。これはJava 1.6からのものです。これはVMに依存しませんが、(理論上の)旧バージョンの標準ライブラリでは異なる可能性があります。あなたが100%確実であることを望むならば、あなたのバージョンのソースをチェックしてください。しかし、正気な開発者は、すべてがメモリ内にあるこのようなもののサイズを計算し、構造が作成されるとそれを集計することはできません。 – Kris

関連する問題