仿ArrayList功能的bag类
生活随笔
收集整理的這篇文章主要介紹了
仿ArrayList功能的bag类
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
仿ArrayList功能的bag類(lèi)
要想做到能夠?qū)崿F(xiàn)ArrayList功能,首先要有一個(gè)能往里填任何類(lèi)型元素的的空間,但是不能用ArrayList來(lái)創(chuàng)建空間,這樣這個(gè)項(xiàng)目就沒(méi)有意義,因此,我創(chuàng)建了一個(gè)Object類(lèi)的數(shù)組,以此來(lái)作為元素的空間。
private Object[] myarray = new Object[5];1、getCurrentSize():獲取數(shù)組中存放元素的個(gè)數(shù)
/*int 空的格子=0,有元素的格子=0for(遍歷一遍數(shù)組){if(元素為空){空格++}}有元素的格子=數(shù)組長(zhǎng)度-空的格子返回 有元素的格子*/@Overridepublic int getCurrentSize() {int emptyBlock=0;int having=0;for(int indedx=0;indedx<myarray.length;indedx++){if(myarray[indedx]==null){emptyBlock++;}}having = myarray.length-emptyBlock;return having;}2、isEmpty():判斷數(shù)組是否為空
/*boolean 判斷int 空格數(shù)for(遍歷數(shù)組){if(數(shù)組的第i項(xiàng)為空{(diào)空格數(shù)++}}if(空格數(shù)==數(shù)組長(zhǎng)度){返回真}else{返回假}*/@Overridepublic boolean isEmpty() {boolean judge = true;int emptyTimes = 0;for (int i =0;i<myarray.length;i++){if(myarray[i]==null){emptyTimes++;}}if(emptyTimes == myarray.length){judge = true;}else{judge = false;}return judge;}3、add(Object newEntrty):往數(shù)組中添加元素
/*for(遍歷數(shù)組){if(數(shù)組第i項(xiàng)為空){數(shù)組第i項(xiàng) = newEntry;停止循環(huán)}}* */@Overridepublic boolean add(Object newEntry) {for(int i=0;i<myarray.length;i++){if(myarray[i]==null){myarray[i]=newEntry;break;}}return true;}4、remove(Object anEntry):移除數(shù)組中的指定元素
/*** for(遍歷數(shù)組){* if(數(shù)組第i項(xiàng) == anEntry){* 數(shù)組第i項(xiàng)變?yōu)榭? }* }*/@Overridepublic boolean remove(Object anEntry) {for(int i=0;i<myarray.length;i++){if(myarray[i]==anEntry){myarray[i]=null;}}return true;}5、clear()將數(shù)組清空
/**for(遍歷數(shù)組){* 數(shù)組的每一項(xiàng)變?yōu)榭? }*/@Overridepublic void clear() {for(int index=0;index<myarray.length;index++){myarray[index] = null;}}6、getFrequencyOf(Object anEntry):獲取數(shù)組中某元素的個(gè)數(shù)
/*** int 次數(shù)* for(遍歷數(shù)組){* if(數(shù)組第index項(xiàng) == anEntry){* 次數(shù)++* }* if(數(shù)組該元素為空){停止循環(huán)}* }*/@Overridepublic int getFrequencyOf(Object anEntry) {int times =0;for(int index=0;index<myarray.length;index++){if(myarray[index].equals(anEntry)){times++;}if(myarray[index] == null){break;}}return times;}7、contains(Object anEntry):檢驗(yàn)?zāi)吃厥欠癜谶@數(shù)組中
/*** boolean 判斷* for(遍歷數(shù)組){* if(數(shù)組第index == anEntry){* 判斷為真* }* 停止循環(huán)* }*/@Overridepublic boolean contains(Object anEntry) {boolean judge = true;for(int index=0;index<myarray.length;index++){if (myarray[index]==anEntry){judge = true;}break;}return judge;}代碼鏈接:
BagInterface.java
Bag.java
轉(zhuǎn)載于:https://www.cnblogs.com/VersionP1/p/7593077.html
總結(jié)
以上是生活随笔為你收集整理的仿ArrayList功能的bag类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: u盘安装系统键盘不能用怎么回事啊 U盘安
- 下一篇: 用js制作选项卡