web-dev-qa-db-ja.com

JavaのLinkedListでのsize()呼び出しの時間の複雑さは何ですか?

タイトルが尋ねるように、LinkedListクラスのsize()メソッドは、償却O(1)時間またはO(n)時間を要する。

47

O(1)です。あなたはソースコードをグーグルすることができ、あなたはそのようになります:

から http://www.docjar.com/html/api/Java/util/LinkedList.Java.html

私が調べたすべてのコレクションクラスは、サイズを変数として格納し、すべてを反復して取得していません。

62
GreenieMeanie

O(1)あなたがソースコードを見ていたらあなたが見つけたように...

LinkedListから:

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;
}
17
Kris