Java封裝數(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è)計有所幫助。
相關(guān)文章
Mybatis-plus+通用mapper(tk.mybatis)的使用
本文主要介紹了Mybatis-plus+通用mapper(tk.mybatis)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>2024-03-03Java concurrency線程池之Callable和Future_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之Callable和Future,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06SpringBoot查詢數(shù)據(jù)庫導(dǎo)出報表文件方式
這篇文章主要介紹了SpringBoot查詢數(shù)據(jù)庫導(dǎo)出報表文件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04springboot?集成easy-captcha實現(xiàn)圖像驗證碼顯示和登錄
本文主要介紹了springboot?集成easy-captcha實現(xiàn)圖像驗證碼顯示和登錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04學(xué)習(xí)JVM之java內(nèi)存區(qū)域與異常
關(guān)于JVM內(nèi)存區(qū)域的知識對于初學(xué)者來說其實是很重要的,了解Java內(nèi)存分配的原理,這對于以后JAVA的學(xué)習(xí)會有更深刻的理解。下面來看看詳細(xì)介紹。2016-07-07java以json格式向后臺服務(wù)器接口發(fā)送請求的實例
下面小編就為大家分享一篇java以json格式向后臺服務(wù)器接口發(fā)送請求的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01