久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

為什么 Java 的 LinkedList 的雙鏈表實現不會鏈接后面元素

瀏覽:150日期:2024-02-03 14:05:11

問題描述

JDK7中 LinkedList private 方法 private void linkFirst(E e)在新添加元素時鏈表不會斷裂?

代碼來源于 JDK7

private void linkFirst(E e) {final Node<E> f = first;final Node<E> newNode = new Node<>(null, e, f);first = newNode;if (f == null) last = newNode;else f.prev = newNode; // 此處沒有執行 newNode.next = f; newNode.next 不會鏈接后面的元素size++;modCount++; }

問題解答

回答1:

private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) {this.item = element;this.next = next;this.prev = prev; }}

final Node<E> newNode = new Node<>(null, e, f); // 構造函數的第3個參數不就是 next 元素了。回答2:

為什么會斷鏈呢?f指向原來的first,將新的newNode設置為first。這個時候就判斷,如果原來的鏈表就是空的,那么last也就是first咯。如果不為空,那么就是將f<原來的首節點>的prev就指向first。

我猜你之所以覺得會斷鏈是因為,你沒看到first的next指向f。額next這個在Node中已經傳進去了final Node<E> newNode = new Node<>(null, e, f);private static class Node<E> {

E item; Node<E> next; Node<E> prev; Node(Node<E> prev, E element, Node<E> next) {this.item = element;this.next = next;this.prev = prev; }}

標簽: java
相關文章:
主站蜘蛛池模板: 99精品免费视频 | 亚洲精品福利在线观看 | 天天天天天天天天干 | 国产欧美日韩在线 | 影音先锋久久 | av中文字幕在线 | 精品国产乱码久久久久久1区2区 | 国产高清视频在线观看 | 91视频观看 | 视频精品一区 | 91爱爱视频 | 精品国产成人 | 99精品欧美一区二区三区综合在线 | 亚洲精品久久久 | 中文在线视频 | 久久三级视频 | 亚洲成人一区二区三区 | 羞羞视频在线网站观看 | 全免一级毛片 | 国产精品久久久麻豆 | 精品一区二区三区三区 | 欧美99热| 伊人网国产 | 久久久久久这里只有精品 | 在线视频不卡一区 | 午夜精品一区二区三区免费视频 | 久久人人爽人人爽 | 最新中文字幕在线 | 欧美大片在线看免费观看 | 麻豆成人在线 | 少妇久久久久 | 国产精品美女久久久久aⅴ国产馆 | 国产视频久久久久久久 | 婷婷毛片 | 欧美激情网 | 日韩不卡一区 | 亚洲丶国产丶欧美一区二区三区 | 在线观看免费毛片视频 | 精品国产一区二区三区日日嗨 | 久久久国产精品入口麻豆 | 在线一区二区三区 |