數(shù)組隊(duì)列

1.數(shù)組有什么優(yōu)點(diǎn)和缺點(diǎn)?

優(yōu)點(diǎn):

存取數(shù)據(jù)是所有數(shù)據(jù)結(jié)構(gòu)中速度最快的一種荚醒,你在獲取或設(shè)置數(shù)據(jù)時(shí)芋类,

可以直接通過下標(biāo)定位。

缺點(diǎn):

如果你要存儲的數(shù)據(jù)不確定時(shí)界阁,數(shù)組在創(chuàng)建時(shí)需要給予的長度就是缺點(diǎn)侯繁。

1.創(chuàng)建數(shù)組小了,存儲不下數(shù)據(jù)

2.創(chuàng)建數(shù)組大了泡躯,浪費(fèi)內(nèi)存空間

如果在項(xiàng)目中特定情況下只能存儲一種數(shù)據(jù)類型贮竟;在項(xiàng)目的兩一個(gè)位置

需要存儲N種數(shù)據(jù)類型;這樣數(shù)組在創(chuàng)建時(shí)需要指定固定的類型就會(huì)是缺點(diǎn)较剃。

2.數(shù)組隊(duì)列的實(shí)現(xiàn)

數(shù)組隊(duì)列的實(shí)現(xiàn)原理:借助于數(shù)組名中存儲的是數(shù)組對象在內(nèi)存中的首地址咕别。

interface MyArrayList.java 父接口,定義數(shù)組中所需要實(shí)現(xiàn)的方法

class MyArrayListImpl.java 子類写穴,實(shí)現(xiàn)接口中所有的抽象方法惰拱。

使用泛型來解決第二個(gè)問題。

泛型是Java中的一種特殊符號啊送,不能把它當(dāng)做任何一個(gè)種數(shù)據(jù)類型偿短。

但是它可以泛指Java所有的數(shù)據(jù)類型(基本數(shù)據(jù)類型,引用類型)馋没。

Java中的泛型有E(元素)昔逗、K(鍵)、V(值)篷朵。


public class MyArrayListImplimplements MyArrayList{

// 聲明一個(gè)數(shù)組名

private Object[] array;

// 聲明一個(gè)記錄存儲元素總數(shù)的屬性名

private int size;

/**

* 構(gòu)造方法

*/

public MyArrayListImpl() {

array = new Object[1];

}

// public MyArrayListImpl(int i){

// array = new String[i];

// }

/**

* 添加元素到數(shù)組隊(duì)列中的方法

*

* @param e要添加的元素

*/

public void add(E e) {

if (size == 0)

array[0] = e;

else {

// 根據(jù)所添加元素的的個(gè)數(shù)來創(chuàng)建新的數(shù)組勾怒,新數(shù)組的長度是size+1

Object[] newArray = new Object[size + 1];

// 將新元素str添加到newArray數(shù)組的末尾

newArray[size] = e;

// 將原始數(shù)組中的數(shù)據(jù)存入到新數(shù)組中

for (int i = 0; i < size; i++) {

newArray[i] = array[i];

}

// 新數(shù)組的地址賦給原始數(shù)組

array = newArray;

}

// 記錄元素總數(shù)增加1.

size++;

}

/**

* 向數(shù)組隊(duì)列中指定的位置插入一個(gè)新的元素

*

* @param index要插入元素的所在的索引位置

* @param e要插入的新元素

* @return 返回true表示插入成功婆排,返回false表示插入失敗

*/

public boolean add(int index, E e) {

return false;

}

/**

* 根據(jù)指定的索引位置,從數(shù)組隊(duì)列中移除一個(gè)元素

*

* @param index要移除元素所在的索引位置

* @return 返回null表示移除失敗笔链,否則會(huì)返回移除的元素

*/

public E remove(int index) {

return null;

}

/**

* 移除指定的元素

*

* @param e要移除的元素

* @return 返回值true表示執(zhí)行成功段只,返回false表示執(zhí)行失敗

*/

public boolean remove(E e) {

return false;

}

public boolean removeAll(E e) {

return false;

}

/**

* 修改指定索引位置的元素

*

* @param index要修改元素的位置

* @param e新的元素

* @return 返回值true表示執(zhí)行成功,返回false表示執(zhí)行失敗

*/

public boolean update(int index, E e) {

return false;

}

/**

* 修改指定元素的內(nèi)容

*

* @param oldE要修改的元素

* @param e新的元素

* @return 返回值true表示執(zhí)行成功卡乾,返回false表示執(zhí)行失敗

*/

public boolean update(E oldE, E e) {

return false;

}

/**

* 獲取數(shù)組隊(duì)列中存儲的元素總數(shù)

*

* @return 返回?cái)?shù)組隊(duì)列中存儲的元素總數(shù)屬性

*/

public int size() {

return size;

}

/**

* 獲取指定索引位置的元素

*

* @param index要獲取元素的索引位置

* @return 返回null表示獲取失敗翼悴,否則會(huì)返回獲取到的元素

*/

public E get(int index) {

if (index < 0 || index >= size)

return null;

return (E)array[index];

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市幔妨,隨后出現(xiàn)的幾起案子鹦赎,更是在濱河造成了極大的恐慌,老刑警劉巖误堡,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件古话,死亡現(xiàn)場離奇詭異,居然都是意外死亡锁施,警方通過查閱死者的電腦和手機(jī)陪踩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悉抵,“玉大人肩狂,你說我怎么就攤上這事±咽危” “怎么了傻谁?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長列粪。 經(jīng)常有香客問我审磁,道長,這世上最難降的妖魔是什么岂座? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任态蒂,我火速辦了婚禮,結(jié)果婚禮上费什,老公的妹妹穿的比我還像新娘钾恢。我一直安慰自己,他們只是感情好鸳址,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布赘那。 她就那樣靜靜地躺著,像睡著了一般氯质。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上祠斧,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天闻察,我揣著相機(jī)與錄音,去河邊找鬼。 笑死辕漂,一個(gè)胖子當(dāng)著我的面吹牛呢灶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钉嘹,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼鸯乃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了跋涣?” 一聲冷哼從身側(cè)響起缨睡,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎陈辱,沒想到半個(gè)月后奖年,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沛贪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年陋守,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片利赋。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡水评,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出媚送,到底是詐尸還是另有隱情中燥,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布季希,位于F島的核電站褪那,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏式塌。R本人自食惡果不足惜博敬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望峰尝。 院中可真熱鬧偏窝,春花似錦、人聲如沸武学。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽火窒。三九已至硼补,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間熏矿,已是汗流浹背已骇。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工离钝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人褪储。 一個(gè)月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓卵渴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鲤竹。 傳聞我的和親對象是個(gè)殘疾皇子浪读,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法辛藻,內(nèi)部類的語法碘橘,繼承相關(guān)的語法,異常的語法揩尸,線程的語...
    子非魚_t_閱讀 31,597評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理蛹屿,服務(wù)發(fā)現(xiàn),斷路器岩榆,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)错负。 張土汪:刷leetcod...
    土汪閱讀 12,737評論 0 33
  • 早上起床后洗衣服,原本打算是進(jìn)班刷專四題勇边,宿舍的集體活動(dòng)也是愿意參加的犹撒,真是美麗的意外,考前的放松好了粒褒。雖然堵了車...
    6186834d3810閱讀 188評論 0 0
  • 那時(shí)候的巴黎應(yīng)該有種浪漫奔放而又涼薄清冷的氣質(zhì)识颊。 香榭麗舍大街在薄霧中呈現(xiàn)出迷人的青灰色,剛剛?cè)旧洗阂獾奶耢o的草坪...
    路耳咩咩咩閱讀 541評論 0 0