您好,登錄后才能下訂單哦!
java中鏈表指的是什么?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
鏈表是一種根據元素節點邏輯關系排列起來的一種數據結構。本篇文章將和大家講述Java中的鏈表,感興趣的朋友可以了解一下。
鏈表是一種根據元素節點邏輯關系排列起來的一種數據結構。利用鏈表可以保存多個數據,這一點類似于數組的概念。
但是數組本身有一個缺點—— 數組的長度固定,不可改變,在長度固定的情況下首選的肯定是數組,但是在現實的開發之中往往要保存的內容長度是不確定的,那么此時就可以利用鏈表這樣的結構來代替數組的使用。
鏈表是一種最為簡單的數據結構,它的主要目的是依靠引用關系來實現多個數據的保存,那么下面假設現在要保存的數據是字符串(引用類型),則可以按照圖所示的關系進行保存。
Java實現鏈表代碼:
//每一個鏈表實際上就是由多個節點組成的 public class Node { // 定義一個節點 private String data; // 用于保存數據 private Node next; // 用于保存下一個節點 // 每一個Node類對象都必須保存有響應的數據 public Node(String data) { this.data = data; } public void setNext(Node next) { this.next = next; } public Node getNext() { return this.next; } public String getData() { return this.data; } // 實現節點的添加 // 第一次調用(Link):this代表Link.root // 第二次調用(Node):this代表Link.root.next // 第三次調用(Node):this代表Link.root.next.next public void addNode(Node newNode) { if (this.next == null) { // 如果只有一個節點 this.next = newNode; // 保存新節點 } else { // 當前節點后面還有節點 // 當前節點的下一個節點繼續保存 this.next.addNode(newNode); } } // 第一次調用(Link):this代表Link.root // 第二次調用(Node):this代表Link.root.next // 第三次調用(Node):this代表Link.root.next.next public void printNode() { System.out.println(this.data);// 輸出當前數據 if (this.next != null) {// 如果還有下一個節點 this.next.printNode();// 輸出下一節點 } } } public class LinkDemo { public static void main(String[] args) { Link link = new Link() ; link.add("hello"); //存放數據 link.add("world"); link.add("wwww"); link.print(); //展示數據 } } //負責數據的設置和輸出 public class Link { private Node root; //根節點 //增加數據 public void add (String data){ //為了設置數據的先后關系,所以將data包裝在一個Node類對象 Node newNode = new Node(data); if(this.root == null ){ //一個鏈表只有一個根節點 this.root = newNode; //將新的節點設置為根節點 }else{ //從root節點后找到合適的位置 this.root.addNode(newNode); } } //輸出數據 public void print(){ if( this.root != null ){ this.root.printNode(); } } }
感謝各位的閱讀!看完上述內容,你們對java中鏈表指的是什么大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。