2015-04-26 133 views
1

Java中的許多類都以「鏈接」標識符作爲前綴,即LinkedListLinkedBlockingQueueLinkedHashmap等。術語「鏈接」是什麼意思?「鏈接」是什麼意思?

+5

請參閱[鏈接列表](https://en.wikipedia.org/wiki/Linked_list)。 – Jesper

+0

@Jesper謝謝!那麼,「鏈接」集合是一個集合,其成員各自都有 - 知道正在進行的成員? – Thomas

+1

是的,它不是特定於Java的,它是一種通用的數據結構設計原則,大多數編程語言都在其標準庫中鏈接了列表。 – Jesper

回答

8

A Java LinkedList,是使用linked listsList實現。相比之下,人們也可以使用例如dynamic arrays來實現它們,這是ArrayList所做的。

A LinkedBlockingQueue遵循與LinkedList大致相同的想法。

A LinkedHashMap,是一個正常的hash table(它提供了高效的隨機訪問),與doubly-linked list(它提供了一致的迭代順序)相結合。

因此,Linked前綴表示鏈接結構(如單或雙鏈表)是其基礎實現的關鍵部分。

2

這裏,術語「鏈接」是指集合的每個成員通過「鏈接」知道集合中的下一個成員;因此,每個成員可以存儲在內存中的非連續位置。

以上,非常簡單的貢獻來自Linked List維基百科文章中提到的對原始問題的評論。

1

在java中有一些以Link開頭的集合。不管是什麼,然後Link有這些集合的一些共同財產 -

這些集合始終有序

2.可以在任何位置插入元素。例如,您可以在LinkdeList處插入項目。

3. mantains鏈接與下一個/上一個項目連接,其中每個項目被稱爲節點。遊馬的考慮節點的這樣的簡化版本 -

class Node{ 
    int value; 
    Node next; 
    Node previous; 
} 

這裏Node nextNode previous作品從當前節點鏈接到下一個/前一個節點。

+0

- 所有列表(基於數組和基於列表) - 所有列表(基於數組和基於列表)允許通過add(int index,E元素)方法插入 –