這篇文章主要介紹java中鏈表的實(shí)例,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站建設(shè)、沿灘網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、沿灘網(wǎng)絡(luò)營銷、沿灘企業(yè)策劃、沿灘品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供沿灘建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:chinadenli.net
LinkedList使用了循環(huán)雙向鏈表數(shù)據(jù)結(jié)構(gòu)。與基于數(shù)組ArrayList相比,這是兩種截然不同的實(shí)現(xiàn)技術(shù),這也決定了它們將適用于完全不同的工作場景。
鏈表(Linked list)是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),是一種線性表,但是并不會(huì)按線性的順序存儲(chǔ)數(shù)據(jù),而是在每一個(gè)節(jié)點(diǎn)里存到下一個(gè)節(jié)點(diǎn)的指針(Pointer)。
使用鏈表結(jié)構(gòu)可以克服數(shù)組鏈表需要預(yù)先知道數(shù)據(jù)大小的缺點(diǎn),鏈表結(jié)構(gòu)可以充分利用計(jì)算機(jī)內(nèi)存空間,實(shí)現(xiàn)靈活的內(nèi)存動(dòng)態(tài)管理。但是鏈表失去了數(shù)組隨機(jī)讀取的優(yōu)點(diǎn),同時(shí)鏈表由于增加了結(jié)點(diǎn)的指針域,空間開銷比較大。
實(shí)例:
package com.ys.link; public class DoublePointLinkedList { private Node head;//頭節(jié)點(diǎn) private Node tail;//尾節(jié)點(diǎn) private int size;//節(jié)點(diǎn)的個(gè)數(shù) private class Node{ private Object data; private Node next; public Node(Object data){ this.data = data; } } public DoublePointLinkedList(){ size = 0; head = null; tail = null; } //鏈表頭新增節(jié)點(diǎn) public void addHead(Object data){ Node node = new Node(data); if(size == 0){//如果鏈表為空,那么頭節(jié)點(diǎn)和尾節(jié)點(diǎn)都是該新增節(jié)點(diǎn) head = node; tail = node; size++; }else{ node.next = head; head = node; size++; } } //鏈表尾新增節(jié)點(diǎn) public void addTail(Object data){ Node node = new Node(data); if(size == 0){//如果鏈表為空,那么頭節(jié)點(diǎn)和尾節(jié)點(diǎn)都是該新增節(jié)點(diǎn) head = node; tail = node; size++; }else{ tail.next = node; tail = node; size++; } } //刪除頭部節(jié)點(diǎn),成功返回true,失敗返回false public boolean deleteHead(){ if(size == 0){//當(dāng)前鏈表節(jié)點(diǎn)數(shù)為0 return false; } if(head.next == null){//當(dāng)前鏈表節(jié)點(diǎn)數(shù)為1 head = null; tail = null; }else{ head = head.next; } size--; return true; } //判斷是否為空 public boolean isEmpty(){ return (size ==0); } //獲得鏈表的節(jié)點(diǎn)個(gè)數(shù) public int getSize(){ return size; } //顯示節(jié)點(diǎn)信息 public void display(){ if(size >0){ Node node = head; int tempSize = size; if(tempSize == 1){//當(dāng)前鏈表只有一個(gè)節(jié)點(diǎn) System.out.println("["+node.data+"]"); return; } while(tempSize>0){ if(node.equals(head)){ System.out.print("["+node.data+"->"); }else if(node.next == null){ System.out.print(node.data+"]"); }else{ System.out.print(node.data+"->"); } node = node.next; tempSize--; } System.out.println(); }else{//如果鏈表一個(gè)節(jié)點(diǎn)都沒有,直接打印[] System.out.println("[]"); } } }
以上是java中鏈表的實(shí)例的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:java中鏈表的實(shí)例
URL分享:http://chinadenli.net/article42/ppdjhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、搜索引擎優(yōu)化、品牌網(wǎng)站建設(shè)、虛擬主機(jī)、云服務(wù)器、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)