这是曾经面试的一道题目,面试结束后查看JAVA与数据结构的书,我仍然无法说出关于这个更多的描述。面试时我只答了2点:(应聘的是一个用JAVA进行多线程开发的职位,主要考察的是数据结构,算法与多线程等知识)LinkedList支持双向队列的方法,用java进行编程进行插入删除操作时比arraylist更有效;在java中可以实现栈的所有方法,所以需要时可以当成栈来用。
呵呵,数据结构等方面知识太薄落了,加上语言表达能力也有限的很。答出来之后感觉面试官对于答案不满意,虽然当场没说什么。
突发好奇之心,想看看各位朋友如何应对数据结构方面的描述题,遂发此帖。
路过的朋友请帮忙看看,如果你遇见这道题目你会如何回答,无所谓一定要牵涉到JAVA API,(及时你对linkedlist在java中是什么东西也不知道也没关系)从数据结构的角度阐述就行。
呵呵,数据结构等方面知识太薄落了,加上语言表达能力也有限的很。答出来之后感觉面试官对于答案不满意,虽然当场没说什么。
突发好奇之心,想看看各位朋友如何应对数据结构方面的描述题,遂发此帖。
路过的朋友请帮忙看看,如果你遇见这道题目你会如何回答,无所谓一定要牵涉到JAVA API,(及时你对linkedlist在java中是什么东西也不知道也没关系)从数据结构的角度阐述就行。
List 接口的链接列表实现。实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列 (deque)。
此类实现 Queue 接口,为 add、poll 等提供先进先出队列操作。其他堆栈和双端队列操作可以根据标准列表操作方便地进行再次强制转换。虽然它们可能比等效列表操作运行稍快,但是将其包括在这里主要是出于方便考虑。
所有操作都是按照双重链接列表的需要执行的。在列表中编索引的操作将从开头或结尾遍历列表(从靠近指定索引的一端)。
注意,此实现不是同步的。所以我支持zhangbaokun理解为链表的观点。谢谢2位,其他的朋友有什么想法的继续。
1、用链表的结构实现了List
2、支持双向顺序访问,但不支持随机访问(下标方式)
3、适合于经常插入、删除的操作场合
对于外部访问者,链表通常包含三个指针:队头,队尾和当前节点指针。