当前位置:编程学习 > JAVA >>

linkedlist中的addfirst()问题

public void addFirst(E e) { addBefore(e, header.next); } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 private Entry<E> addBefore(E e, Entry<E> entry) { Entry<E> newEntry = new Entry<E>(e, entry, entry.previous); newEntry.previous.next = newEntry; newEntry.next.previous = newEntry; 中的 Entry<E> newEntry = new Entry<E>(e, entry, entry.previous); 是用第一个对象的next与previous构成,那是不是说新的对象就是第一个对象。 newEntry.previous.next = newEntry; newEntry.next.previous = newEntry; 这两句不同啊我迷茫了 求大神帮助。。。。。。。
答案:重在实践,别人说什么都不如自己运行一次来的实在。

LinkedList
LinkedList是通过节点直接彼此连接来实现的。每一个节点都包含前一个节点的引用,后一个节点的引用和节点存储的值。当一个新节点插入时,只需要修改其中保持先后关系的节点的引用即可,当删除记录时也一样。这样就带来以下有缺点:
操作其中对象的速度快 只需要改变连接,新的节点可以在内存中的任何地方
不能随即访问 虽然存在get()方法,但是这个方法是通过遍历接点来定位的所以速度慢。

说白了,LinkedList是数据结构中链式存储

上一个:求一个TOMCAT+JSP+MYSQL环境配置教程 jdk 7 和 tomcat 7 的
下一个:装了插件phoneGap的eclipse和可以开发Android的eclipse,两者都可以开发Android应用。

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,