色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:130日期: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
相關文章:
主站蜘蛛池模板: 国产高清亚洲精品26u | a毛片毛费观看 | 黄色片免费网址 | 国产日韩精品一区在线观看播放 | 久久亚洲国产高清 | 免费一级 一片一毛片 | 99久久精品毛片免费播放 | 欧美成人短视频 | 免费三级网 | 成人小视频在线观看免费 | 男吃女下面刺激视频免费 | 精品国产网 | 91久久精品国产91久久性色tv | 国产一区日韩二区欧美三 | 亚洲成人91 | 美女a毛片 | 亚洲福利精品一区二区三区 | 成人一级黄色毛片 | fulidown国产精品合集 | 欧美精品成人3d在线 | 日韩视频一区二区三区 | 一区在线免费观看 | 九九九热在线精品免费全部 | 在线观看的黄网 | www.网站黄网站 | 欧美第一精品 | 欧美在线精品一区二区三区 | 长腿嫩模打开双腿呻吟 | 成人欧美一区二区三区黑人免费 | 视频一区二区三区在线 | 亚洲 欧美 日韩 丝袜 另类 | 午夜三级a三级三点在线观看 | 精品日韩欧美一区二区三区 | 国产成人精品高清免费 | 国产一及片 | 色伊人国产高清在线 | 亚洲视频观看 | 免费观看日本视频 | 精品欧美成人bd高清在线观看 | 久久黄色精品视频 | 国产在线精品一区二区高清不卡 |