簡體   English   中英

Java的LinkedList類中的元素是否具有索引?

[英]Do elements in LinkedList class of java have index?

Java的LinkedList類中的元素是否具有索引? 如果是,那么當它可以直接使用對象的索引進行搜索時,為什么在最壞的情況下搜索操作的性能為o(n)? 如果不是,那么我們如何使用void add(int index, Object item)方法在鏈表的中間插入一個對象?

它們有一個邏輯索引,是的-實際上是您需要從頭開始迭代直到到達該節點的次數。

這與說“它可以使用對象的索引直接搜索”不同-因為它不能。

通常,按索引進行O(1)訪問是通過使用數組查找來執行的,對於鏈表, 沒有數組-只有一個節點鏈。 要訪問索引為N的節點,您需要從頭開始並沿着鏈條走N次...這是O(N)操作。

LinkedList元素不包含任何索引信息,並且沒有從索引到元素的映射。

如果您請求將元素添加到第i個位置(通過調用add(int index, Object item) ),則將需要從其開頭或結尾對LinkedList的元素進行迭代(取決於其中哪個元素)接近請求的索引),直到達到請求的索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM