真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

利用Java怎么獲取鏈表中的元素

今天就跟大家聊聊有關(guān)利用Java怎么獲取鏈表中的元素,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)主營太和網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),太和h5微信小程序搭建,太和網(wǎng)站營銷推廣歡迎太和等地區(qū)企業(yè)咨詢

Java可以用來干什么

Java主要應(yīng)用于:1. web開發(fā);2. Android開發(fā);3. 客戶端開發(fā);4. 網(wǎng)頁開發(fā);5. 企業(yè)級應(yīng)用開發(fā);6. Java大數(shù)據(jù)開發(fā);7.游戲開發(fā)等。

一、獲取元素

1.關(guān)于獲取鏈表中元素的方法的分析

由于我們使用了虛擬頭結(jié)點(diǎn),而我們每次都需要從第一個(gè)真實(shí)節(jié)點(diǎn)開始,因此需要首先得到虛擬頭結(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)是誰,然后在此基礎(chǔ)上進(jìn)行遍歷工作,相關(guān)代碼如下:

 //獲取鏈表的第index(0-based)個(gè)位置的元素  (實(shí)際不常用,練習(xí)用)
  public E get(int index) {
    //合法性判斷
    if (index < 0 || index >= size) {
      throw new IllegalArgumentException("Get failed,Illegal index");
    }

    Node cur = dummyHead.next;
    for (int i = 0; i < index; i++) {
      cur = cur.next;
    }
    return cur.e;
  }

2.獲得鏈表的第一個(gè)元素

對于該方法則是依靠在get()方法的。

 //獲得鏈表的第一個(gè)元素
  public E getFirst() {
    return get(0);
  }

3.獲得鏈表的最后一個(gè)元素

對于該方法頁是依靠在get()方法的。

 //獲得鏈表的最后一個(gè)元素
  public E getLast() {
    return get(size - 1);
  }

二、修改鏈表元素

由于我們使用了虛擬頭結(jié)點(diǎn),而我們每次都需要從第一個(gè)真實(shí)節(jié)點(diǎn)開始,因此需要首先得到虛擬頭結(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)是誰,然后在此基礎(chǔ)上進(jìn)行遍歷工作,相關(guān)代碼如下:

  //修改鏈表的第index(0-based)個(gè)位置的元素  (實(shí)際不常用,練習(xí)用)
  public void set(int index, E e) {
    //合法性判斷
    if (index < 0 || index >= size) {
      throw new IllegalArgumentException("update failed,Illegal index");
    }

    Node cur = dummyHead.next;
    for (int i = 0; i < index; i++) {
      cur = cur.next;
    }
    cur.e = e;
  }

三、判斷是否有元素e

由于我們使用了虛擬頭結(jié)點(diǎn),而我們每次都需要從第一個(gè)真實(shí)節(jié)點(diǎn)開始,因此需要首先得到虛擬頭結(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)是誰,然后判斷給定的元素值與鏈表中的元素值內(nèi)容是否相等(equals()方法),若相等則返回true,否則返回false。

 //查找鏈表中是否有元素e
  public boolean contains(E e) {
    Node cur = dummyHead.next;
    while (cur != null) {
      if (cur.e.equals(e)) {
        return true;
      }
      cur = cur.next;
    }
    return false;
  }

四、toString()方法的重寫

為了在輸出該鏈表對象時(shí)可以查看相關(guān)自定義的信息,我們對toString()進(jìn)行重寫改造。

//重寫object類,便于測試
  @Override
  public String toString() {
    StringBuilder res = new StringBuilder();
    Node cur = dummyHead.next;
    while (cur != null) {
      res.append(cur + "->");
      cur = cur.next;
    }

    res.append("NULL");

    return res.toString();
  }

此時(shí)該方法等同于

 //重寫object類,便于測試
  @Override
  public String toString() {
    StringBuilder res = new StringBuilder();

    for (Node cur = dummyHead.next; cur != null; cur = cur.next) {
      res.append(cur + "->");
    }
    res.append("NULL");

    return res.toString();
  }

五、測試

新建一個(gè)main函數(shù),填寫相關(guān)測試代碼如下:

package LinkedList;

public class TestMain {
  public static void main(String[] args) {
    LinkedList linkedList = new LinkedList();

    System.out.println("============在鏈表頭部添加============");
    for (int i = 0; i < 5; i++) {
      linkedList.addFirst(i);
      System.out.println(linkedList);
    }


    System.out.println("============修改鏈表============");
    linkedList.set(2,666);
    System.out.println(linkedList);
  }
}

結(jié)果為:

利用Java怎么獲取鏈表中的元素

看完上述內(nèi)容,你們對利用Java怎么獲取鏈表中的元素有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)站名稱:利用Java怎么獲取鏈表中的元素
轉(zhuǎn)載注明:http://weahome.cn/article/gicodd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部