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应用。