最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java LinkedList的實例詳解

 更新時間:2017年09月01日 10:10:07   投稿:lqh  
這篇文章主要介紹了java LinkedList的實例詳解的相關資料,通過本文希望大家能徹底了解掌握這部分內容,需要的朋友可以參考下

java LinkedList的實例詳解

站在Java的角度看,玩隊列不就是玩對象引用對象嘛!

實例代碼: 

public class LinkedList<E> implements List<E>, Deque<E> { 
 Node<E> first; 
 Node<E> last; 
 int size; 
 
 public boolean add(E e) { 
    final Node<E> l = last; 
    final Node<E> newNode = new Node<>(l, e, null); 
    last = newNode; 
    if (l == null) 
      first = newNode; 
    else 
      l.next = newNode; 
    size++; 
    modCount++; 
    return true; 
  } 
 
 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; 
    } 
  }  
} 

 單鏈表反轉:

/**  
   * 遞歸,在反轉當前節(jié)點之前先反轉后續(xù)節(jié)點  
   */  
  public static Node reverse(Node head) {  
    if (null == head || null == head.getNextNode()) {  
      return head;  
    }  
    Node reversedHead = reverse(head.getNextNode());  
    head.getNextNode().setNextNode(head);  
    head.setNextNode(null);  
    return reversedHead;  
  }  
  
  /**  
   * 遍歷,將當前節(jié)點的下一個節(jié)點緩存后更改當前節(jié)點指針  
   *  
   */  
  public static Node reverse2(Node head) {  
    if (null == head) {  
      return head;  
    }  
    Node pre = head;  
    Node cur = head.getNextNode();  
    Node next;  
    while (null != cur) {  
      next = cur.getNextNode();  
      cur.setNextNode(pre);  
      pre = cur;  
      cur = next;  
    }  
    //將原鏈表的頭節(jié)點的下一個節(jié)點置為null,再將反轉后的頭節(jié)點賦給head    
    head.setNextNode(null);  
    head = pre;  
      
    return head;  
  } 

 對于數(shù)組問題,一般我們要新建數(shù)組,必要時移動下標

以上就是java LinkedList 的實例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • MyBatis解決Update動態(tài)SQL逗號的問題

    MyBatis解決Update動態(tài)SQL逗號的問題

    這篇文章主要介紹了MyBatis解決Update動態(tài)SQL逗號的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java運行時數(shù)據(jù)區(qū)域(內存劃分)的深入講解

    Java運行時數(shù)據(jù)區(qū)域(內存劃分)的深入講解

    聽說Java運行時環(huán)境的內存劃分是挺進BAT的必經(jīng)之路,這篇文章主要給大家介紹了關于Java運行時數(shù)據(jù)區(qū)域(內存劃分)的相關資料,需要的朋友可以參考下
    2021-06-06
  • Java數(shù)據(jù)結構與算法學習之循環(huán)鏈表

    Java數(shù)據(jù)結構與算法學習之循環(huán)鏈表

    循環(huán)鏈表是另一種形式的鏈式存儲結構。它的特點是表中最后一個結點的指針域指向頭結點,整個鏈表形成一個環(huán)。本文將為大家詳細介紹一下循環(huán)鏈表的特點與使用,需要的可以了解一下
    2021-12-12
  • JAVA annotation入門基礎

    JAVA annotation入門基礎

    以下是JAVA annotation入門基礎,新手朋友們可以過來參考下。希望對你有所幫助
    2013-08-08
  • 淺談二分法查找和原始算法查找的效率對比

    淺談二分法查找和原始算法查找的效率對比

    這篇文章主要介紹了淺談二分法查找和原始算法查找的效率對比,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • SpringBoot與SpringSecurity整合方法附源碼

    SpringBoot與SpringSecurity整合方法附源碼

    這篇文章主要介紹了SpringBoot與SpringSecurity整合,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • spring aop底層原理及如何實現(xiàn)

    spring aop底層原理及如何實現(xiàn)

    這篇文章主要介紹了spring aop底層原理及如何實現(xiàn),幫助大家更好的理解和學習使用spring aop,感興趣的朋友可以了解下
    2021-04-04
  • Springboot 如何指定獲取自己寫的配置properties文件的值

    Springboot 如何指定獲取自己寫的配置properties文件的值

    這篇文章主要介紹了Springboot 如何指定獲取自己寫的配置properties文件的值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 淺談Java中生產(chǎn)者與消費者問題的演變

    淺談Java中生產(chǎn)者與消費者問題的演變

    這篇文章主要介紹了淺談Java中生產(chǎn)者與消費者問題的演變,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 詳解Java的位運算

    詳解Java的位運算

    這篇文章主要介紹了詳解Java的位運算,程序中的所有數(shù)在計算機內存中都是以二進制的形式儲存的。位運算就是直接對整數(shù)在內存中的二進制位進行操作,需要的朋友可以參考下
    2023-04-04

最新評論

潼关县| 车致| 孝昌县| 龙门县| 凌源市| 鲁甸县| 泰州市| 防城港市| 叶城县| 德惠市| 博爱县| 义乌市| 秦安县| 金塔县| 东乡| 麦盖提县| 广灵县| 香港| 克东县| 威信县| 资中县| 承德市| 侯马市| 绩溪县| 漳平市| 手游| 东乌珠穆沁旗| 延边| 汪清县| 清新县| 靖边县| 淳化县| 二连浩特市| 台前县| 建宁县| 邓州市| 房产| 灵武市| 阳城县| 黄山市| 涟源市|