亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:126日期: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 元素了?;卮?:

為什么會斷鏈呢?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精品久久久 | 国产精品第一页爽爽影院 | www成人国产在线观看网站 | 久久美女精品国产精品亚洲 | 日本一级毛片在线播放 | 高清一区二区在线观看 | 黑人与欧洲性大战 | 国产高清晰在线播放 | 国产一级特黄特色aa毛片 | 最刺激黄a大片免费观看下截 | 特别黄的免费视频大片 | 国产成人综合视频 | 久久夏同学国产免费观看 | 国产欧美精品 | 亚洲二区在线视频 | 国产成人精品高清不卡在线 | 成人三级精品视频在线观看 | 成人三级在线播放线观看 | 欧美黄色一级在线 | 国产丝袜高跟 | 久久精品免费观看视频 | 五月天婷婷在线视频 | 免费一级毛片在级播放 | a一级黄 | 色综合中文字幕天天在线 | 麻豆性视频 | 日本护士一级毛片在线播放 | 日本高清xxxx免费视频 | 91tv最新永久在线地址 | 成人网免费看 | 亚洲无线一二三四手机 | 18日本xxxxxxⅹxx96 | 视频一区二区三区免费观看 | 久久精品国产国产精品四凭 | 亚洲一区 中文字幕 久久 | a级粗大硬长爽猛视频免费 a级精品国产片在线观看 | 国产亚洲综合色就色 | 精品美女视频在线观看2023 | 国产又色又粗又黄又爽免费 |