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

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

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

瀏覽:156日期: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久久国产综合精品成人影院 | 国产成人一级片 | 一级一片一_级一片一 | 欧美精品专区55页 | 午夜精品久久久久久毛片 | 一区二区三区四区国产精品 | 亚洲欧洲视频在线 | 国产亚洲精品久久久久久午夜 | 六月丁香婷婷色狠狠久久 | 国产精品特黄毛片 | 国产三级在线免费观看 | www.成人在线视频 | 日本久久精品 | 91欧洲在线视精品在亚洲 | 韩国毛片在线观看 | 天堂色网站 | www.久久综合| 成人免费观看www在线 | 欧美视频一区二区三区四区 | 国产一区精品 | 亚洲一级毛片免费观看 | 国产成人做受免费视频 | 免费观看成为人视频 | 91久久精品一区二区 | 亚洲精品一区二区 | 91成人免费视频 | 成人高清无遮挡免费视频软件 | 欧美成人做性视频在线播放 | 亚洲精品在线免费看 | 男人天堂1024| 日本道综合一本久久久88 | 在线视频久 | 国内精品久久久久影院网站 | 欧美一区二区三区久久综合 | 亚洲精品不卡久久久久久 | 大尺度福利视频在线观看网址 | 亚洲综合美女 | 91男女视频 | 国产欧美在线一区二区三区 | 国产成人丝袜网站在线观看 |