Java封裝數(shù)組之添加元素操作實例分析
本文實例講述了Java封裝數(shù)組之添加元素操作。分享給大家供大家參考,具體如下:
在上一小節(jié)中,我們對數(shù)組進行了一個基本的封裝,該小節(jié)中,我們在上一次基礎(chǔ)上,新增往數(shù)組添加元素的方法:
1.向所有元素后添加一個元素
思路:
(1)先判斷當前數(shù)組容量是否已滿,未滿則轉(zhuǎn)入(2),否則拋出異常
(2)在元素下標為size的位置插入新元素
(3)維護我們的size值
//向所有元素后添加元素
public void addLast(int e) {
if (size == data.length)
throw new IllegalArgumentException("數(shù)組已滿");
data[size] = e;
size++;
}
2.在指定index位置插入一個新元素
思路:
(1)先判斷當前數(shù)組容量是否已滿,未滿則轉(zhuǎn)入(2),否則拋出異常
(2)判斷當前需要插入值的位置是否合理,合理則轉(zhuǎn)入(3),否則拋出位置不合法異常
(3)將index之后的元素依次往后移動一位,然后將新元素插入到index位置
(4)維護我們的size值
//在第index個位置插入一個新元素
public void add(int index, int e) {
//(1)先判斷當前數(shù)組容量是否已滿,未滿則轉(zhuǎn)入(2),否則拋出異常
if (size == data.length)
throw new IllegalArgumentException("數(shù)組已滿");
//(2)判斷當前需要插入值的位置是否合理,合理則轉(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)維護size值
size++;
}
通過對在指定index位置插入一個新元素方法的編寫,此時我們可以很輕松的編寫出在所有元素之前添加一個新元素,
3.在所有元素之前添加一個新元素
//在所有元素之前添加一個新元素
public void addFirst(int e) {
add(0, e);//0表示第一個位置
}
我們還可以對在本節(jié)剛開始編寫的第一個方法進行改寫,改寫如下:
//向所有元素后添加元素
public void addLast(int e) {
add(size, e);//size表示此時的最后一個元素
}
到此我們對如何在數(shù)組中添加一個元素有了基本的認識,在下一節(jié)中我們就如何在數(shù)組中查詢元素和修改元素進行學習。
若你感興趣,關(guān)注我,我們一起學習~~~~
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)組操作技巧總結(jié)》、《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)學運算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》及《Java操作DOM節(jié)點技巧總結(jié)》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
java如何實現(xiàn)postman中用x-www-form-urlencoded參數(shù)的請求
在Java開發(fā)中,模擬Postman發(fā)送x-www-form-urlencoded類型的請求是一個常見需求,本文主要介紹了如何在Java中實現(xiàn)這一功能,首先,需要通過導入http-client包來創(chuàng)建HTTP客戶端,接著,利用該客戶端發(fā)送Post請求2024-09-09
SpringCloud Gateway使用redis實現(xiàn)動態(tài)路由的方法
這篇文章主要介紹了SpringCloud Gateway使用redis實現(xiàn)動態(tài)路由的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
MyBatis 中 type-aliases-package的作用(簡化類型映射)
MyBatis中type-aliases-package的作用是簡化類型映射,通過指定包路徑,MyBatis會自動掃描該包下的所有類并為這些類生成類型別名,減少XML配置文件中的冗長代碼,感興趣的朋友跟隨小編一起看看吧2024-11-11
使用java技術(shù)抓取網(wǎng)站上彩票雙色球信息詳解
這篇文章主要介紹了使用java技術(shù)抓取網(wǎng)站上彩票雙色球信息詳解,web結(jié)果由html+js+css組成,html結(jié)構(gòu)都有一定的規(guī)范,數(shù)據(jù)動態(tài)交互可以通過js實現(xiàn)。,需要的朋友可以參考下2019-06-06
httpclient ConnectionHolder連接池連接保持源碼解析
這篇文章主要為大家介紹了httpclient ConnectionHolder連接池連接保持源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
MybatisPlus分頁查詢與多條件查詢介紹及查詢過程中空值問題的解決
mybatisplus是個很好用的插件,相信小伙伴們都知道,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus實現(xiàn)分頁查詢與多條件查詢介紹及查詢過程中空值問題的相關(guān)資料,需要的朋友可以參考下2022-10-10

