Java封裝數(shù)組之添加元素操作實(shí)例分析
本文實(shí)例講述了Java封裝數(shù)組之添加元素操作。分享給大家供大家參考,具體如下:
在上一小節(jié)中,我們對數(shù)組進(jìn)行了一個(gè)基本的封裝,該小節(jié)中,我們在上一次基礎(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之后的元素依次往后移動一位,然后將新元素插入到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位置之后的元素往后依次移動一位
for (int i = size - 1; i >= index; i--) {
//(3)將index之后的元素依次往后移動一位,然后將新元素插入到index位置
data[i + 1] = data[i];
}
data[index] = e;
//(4)維護(hù)size值
size++;
}
通過對在指定index位置插入一個(gè)新元素方法的編寫,此時(shí)我們可以很輕松的編寫出在所有元素之前添加一個(gè)新元素,
3.在所有元素之前添加一個(gè)新元素
//在所有元素之前添加一個(gè)新元素
public void addFirst(int e) {
add(0, e);//0表示第一個(gè)位置
}
我們還可以對在本節(jié)剛開始編寫的第一個(gè)方法進(jìn)行改寫,改寫如下:
//向所有元素后添加元素
public void addLast(int e) {
add(size, e);//size表示此時(shí)的最后一個(gè)元素
}
到此我們對如何在數(shù)組中添加一個(gè)元素有了基本的認(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è)計(jì)有所幫助。
相關(guān)文章
java如何實(shí)現(xiàn)postman中用x-www-form-urlencoded參數(shù)的請求
在Java開發(fā)中,模擬Postman發(fā)送x-www-form-urlencoded類型的請求是一個(gè)常見需求,本文主要介紹了如何在Java中實(shí)現(xiàn)這一功能,首先,需要通過導(dǎo)入http-client包來創(chuàng)建HTTP客戶端,接著,利用該客戶端發(fā)送Post請求2024-09-09
淺談java中OO的概念和設(shè)計(jì)原則(必看)
下面小編就為大家?guī)硪黄獪\談java中OO的概念和設(shè)計(jì)原則(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
SpringCloud Gateway使用redis實(shí)現(xiàn)動態(tài)路由的方法
這篇文章主要介紹了SpringCloud Gateway使用redis實(shí)現(xiàn)動態(tài)路由的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下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實(shí)現(xiàn)。,需要的朋友可以參考下2019-06-06
基于Mybatis-Plus的CRUD的實(shí)現(xiàn)
這篇文章主要介紹了基于Mybatis-Plus的CRUD的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
httpclient ConnectionHolder連接池連接保持源碼解析
這篇文章主要為大家介紹了httpclient ConnectionHolder連接池連接保持源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
IDEA導(dǎo)入JDBC驅(qū)動的jar包步驟詳解
JDBC是一種底層的API,是連接數(shù)據(jù)庫和Java應(yīng)用程序的紐帶,因此我們在訪問數(shù)據(jù)庫時(shí)需要在業(yè)務(wù)邏輯層中嵌入SQL語句,這篇文章主要介紹了IDEA導(dǎo)入JDBC驅(qū)動的jar包,需要的朋友可以參考下2023-07-07
MybatisPlus分頁查詢與多條件查詢介紹及查詢過程中空值問題的解決
mybatisplus是個(gè)很好用的插件,相信小伙伴們都知道,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus實(shí)現(xiàn)分頁查詢與多條件查詢介紹及查詢過程中空值問題的相關(guān)資料,需要的朋友可以參考下2022-10-10

