Java封裝數(shù)組之添加元素操作實(shí)例分析
本文實(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)文章:
1. vue實(shí)現(xiàn)web在線聊天功能2. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis3. JavaScript實(shí)現(xiàn)頁面動態(tài)驗(yàn)證碼的實(shí)現(xiàn)示例4. Springboot 全局日期格式化處理的實(shí)現(xiàn)5. Java使用Tesseract-Ocr識別數(shù)字6. 完美解決vue 中多個echarts圖表自適應(yīng)的問題7. Python使用urlretrieve實(shí)現(xiàn)直接遠(yuǎn)程下載圖片的示例代碼8. SpringBoot+TestNG單元測試的實(shí)現(xiàn)9. 在Chrome DevTools中調(diào)試JavaScript的實(shí)現(xiàn)10. 解決Android Studio 格式化 Format代碼快捷鍵問題
