這篇文章主要介紹java中鏈表的實(shí)例,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站建設(shè)、沿灘網(wǎng)絡(luò)推廣、重慶小程序開(kāi)發(fā)、沿灘網(wǎng)絡(luò)營(yíng)銷(xiāo)、沿灘企業(yè)策劃、沿灘品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(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ù),這也決定了它們將適用于完全不同的工作場(chǎng)景。
鏈表(Linked list)是一種常見(jiàn)的基礎(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)的指針域,空間開(kāi)銷(xiāo)比較大。
實(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)都沒(méi)有,直接打印[]
System.out.println("[]");
}
}
}以上是java中鏈表的實(shí)例的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱(chēng):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)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)