2015-04-26 92 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元素)方法插入 –