Java封裝數(shù)組之添加元素操作實(shí)例分析
本文實(shí)例講述了Java封裝數(shù)組之添加元素操作。分享給大家供大家參考,具體如下:
在上一小節(jié)中,我們對(duì)數(shù)組進(jìn)行了一個(gè)基本的封裝,該小節(jié)中,我們?cè)谏弦淮位A(chǔ)上,新增往數(shù)組添加元素的方法:
1.向所有元素后添加一個(gè)元素
思路:
(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位置插入一個(gè)新元素
思路:
(1)先判斷當(dāng)前數(shù)組容量是否已滿,未滿則轉(zhuǎn)入(2),否則拋出異常
(2)判斷當(dāng)前需要插入值的位置是否合理,合理則轉(zhuǎn)入(3),否則拋出位置不合法異常
(3)將index之后的元素依次往后移動(dòng)一位,然后將新元素插入到index位置
(4)維護(hù)我們的size值
//在第index個(gè)位置插入一個(gè)新元素 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位置之后的元素往后依次移動(dòng)一位 for (int i = size - 1; i >= index; i--) { //(3)將index之后的元素依次往后移動(dòng)一位,然后將新元素插入到index位置 data[i + 1] = data[i]; } data[index] = e; //(4)維護(hù)size值 size++; }
通過(guò)對(duì)在指定index位置插入一個(gè)新元素方法的編寫,此時(shí)我們可以很輕松的編寫出在所有元素之前添加一個(gè)新元素,
3.在所有元素之前添加一個(gè)新元素
//在所有元素之前添加一個(gè)新元素 public void addFirst(int e) { add(0, e);//0表示第一個(gè)位置 }
我們還可以對(duì)在本節(jié)剛開始編寫的第一個(gè)方法進(jìn)行改寫,改寫如下:
//向所有元素后添加元素 public void addLast(int e) { add(size, e);//size表示此時(shí)的最后一個(gè)元素 }
到此我們對(duì)如何在數(shù)組中添加一個(gè)元素有了基本的認(rèn)識(shí),在下一節(jié)中我們就如何在數(shù)組中查詢?cè)睾托薷脑剡M(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é)》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章:
1. Python基于requests庫(kù)爬取網(wǎng)站信息2. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法3. Python使用Selenium自動(dòng)進(jìn)行百度搜索的實(shí)現(xiàn)4. Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求5. 一文帶你徹底理解Java序列化和反序列化6. 微信小程序?qū)崿F(xiàn)商品分類頁(yè)過(guò)程結(jié)束7. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能8. JS中6個(gè)對(duì)象數(shù)組去重的方法9. 資深程序員:給Python軟件開發(fā)測(cè)試的25個(gè)忠告!10. python中文本字符處理的簡(jiǎn)單方法記錄

網(wǎng)公網(wǎng)安備