溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java封裝數(shù)組之添加元素操作實(shí)例分析

發(fā)布時間:2020-09-16 12:11:57 來源:腳本之家 閱讀:134 作者:WFaceBoss 欄目:編程語言

本文實(shí)例講述了Java封裝數(shù)組之添加元素操作。分享給大家供大家參考,具體如下:

在上一小節(jié)中,我們對數(shù)組進(jìn)行了一個基本的封裝,該小節(jié)中,我們在上一次基礎(chǔ)上,新增往數(shù)組添加元素的方法:

1.向所有元素后添加一個元素

思路:

(1)先判斷當(dāng)前數(shù)組容量是否已滿,未滿則轉(zhuǎn)入(2),否則拋出異常

(2)在元素下標(biāo)為size的位置插入新元素

(3)維護(hù)我們的size值

 //向所有元素后添加元素
  public void addLast(int e) {
    if (size == data.length)
      throw new IllegalArgumentException("數(shù)組已滿");

    data[size] = e;

    size++;
  }

2.在指定index位置插入一個新元素

思路:

(1)先判斷當(dāng)前數(shù)組容量是否已滿,未滿則轉(zhuǎn)入(2),否則拋出異常

(2)判斷當(dāng)前需要插入值的位置是否合理,合理則轉(zhuǎn)入(3),否則拋出位置不合法異常

(3)將index之后的元素依次往后移動一位,然后將新元素插入到index位置

(4)維護(hù)我們的size值

 //在第index個位置插入一個新元素
  public void add(int index, int e) {
    //(1)先判斷當(dāng)前數(shù)組容量是否已滿,未滿則轉(zhuǎn)入(2),否則拋出異常
    if (size == data.length)
      throw new IllegalArgumentException("數(shù)組已滿");

    //(2)判斷當(dāng)前需要插入值的位置是否合理,合理則轉(zhuǎn)入(3),否則拋出位置不合法異常
    if (index < 0 || index > size)
      throw new IllegalArgumentException("您選擇的位置不合法");

    //將index位置之后的元素往后依次移動一位
    for (int i = size - 1; i >= index; i--) {
      //(3)將index之后的元素依次往后移動一位,然后將新元素插入到index位置
      data[i + 1] = data[i];
     }
      data[index] = e;
      
      //(4)維護(hù)size值
      size++;
  }

通過對在指定index位置插入一個新元素方法的編寫,此時我們可以很輕松的編寫出在所有元素之前添加一個新元素,

3.在所有元素之前添加一個新元素

 //在所有元素之前添加一個新元素
  public void addFirst(int e) {
    add(0, e);//0表示第一個位置
  }

我們還可以對在本節(jié)剛開始編寫的第一個方法進(jìn)行改寫,改寫如下:

 //向所有元素后添加元素
  public void addLast(int e) {
    add(size, e);//size表示此時的最后一個元素
  }

到此我們對如何在數(shù)組中添加一個元素有了基本的認(rèn)識,在下一節(jié)中我們就如何在數(shù)組中查詢元素和修改元素進(jìn)行學(xué)習(xí)。

若你感興趣,關(guān)注我,我們一起學(xué)習(xí)~~~~

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)組操作技巧總結(jié)》、《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》及《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》

希望本文所述對大家java程序設(shè)計有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI