仿ArrayList功能的bag类

要想做到能够实现ArrayList功能,首先要有一个能往里填任何类型元素的的空间,但是不能用ArrayList来创建空间,这样这个项目就没有意义,因此,我创建了一个Object类的数组,以此来作为元素的空间。

private Object[] myarray = new Object[5];

1、getCurrentSize():获取数组中存放元素的个数

 /*int 空的格子=0,有元素的格子=0for(遍历一遍数组){if(元素为空){空格++}}有元素的格子=数组长度-空的格子返回 有元素的格子*/@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():判断数组是否为空

    /*boolean 判断int 空格数for(遍历数组){if(数组的第i项为空{空格数++}}if(空格数==数组长度){返回真}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):往数组中添加元素

  /*for(遍历数组){if(数组第i项为空){数组第i项 = newEntry;停止循环}}* */@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):移除数组中的指定元素

 /*** for(遍历数组){*     if(数组第i项 == anEntry){*         数组第i项变为空*     }* }*/@Overridepublic boolean remove(Object anEntry) {for(int i=0;i<myarray.length;i++){if(myarray[i]==anEntry){myarray[i]=null;}}return true;}

5、clear()将数组清空

  /**for(遍历数组){* 数组的每一项变为空* }*/@Overridepublic void clear() {for(int index=0;index<myarray.length;index++){myarray[index] = null;}}

6、getFrequencyOf(Object anEntry):获取数组中某元素的个数

 /*** int 次数* for(遍历数组){*     if(数组第index项 == anEntry){*         次数++*     }*      if(数组该元素为空){停止循环}* }*/@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):检验某元素是否包含在这数组中

 /*** boolean 判断* for(遍历数组){*     if(数组第index == anEntry){*         判断为真*     }*     停止循环* }*/@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

转载于:https://www.cnblogs.com/VersionP1/p/7593077.html

仿ArrayList功能的bag类相关推荐

  1. android开发:播放音频功能的工具类

    播放音频功能的工具类 /*** 播放声音工具类* creator: ZZF* careate date: 2018/5/25 10:36.*/public class SoundUtils {priv ...

  2. 笔试题:写一个ArrayList 的动态代理类

    package com.zhangxueliang.demo;import java.lang.reflect.InvocationHandler; import java.lang.reflect. ...

  3. 一个具有对象计数功能的基类

    参考<<More Effective C++>>一书中的条款26:"限制某个class所能产生的对象数量",参照"一个用来计算对象个数的基类&qu ...

  4. Lession11 集合和泛型(ArrayList方法、Arraylist类、ArrayList添加对象、ArrayList长度、HashTable类、Hashtable类练习-----)

    目录 ArrayList方法: ArrayList添加对象: Arraylist类: ArrayList长度: HashTable类: Hashtable类练习: IComparable泛型接口排序: ...

  5. 借助云开发,利用订阅消息,云函数路由实现小程序好友一对一聊天,添加好友等仿微信功能

    微信小程序借助云开发,利用订阅消息,云函数路由实现小程序好友一对一聊天,添加好友等仿微信功能 这篇文章已经进行了更新,请点此进行查看 仿微信好友聊天 主要功能有 后续可能补充功能 详细介绍 注意 保存 ...

  6. 织梦dedecms仿CCTV门户资讯新闻类网站源码

    介绍 织梦dedecms仿CCTV门户资讯新闻类网站源码: DIV+CSS,支持自定义添加全球任意语言. 拥有全面的SEO优化机制,支持全站静态设置. 通过360网站安全检测可得分100,程序可永久升 ...

  7. php威客程序(仿猪八戒),[转载]网上卖300元的PHP威客程序(仿猪八戒)功能强大

    [转载]网上卖300元的PHP威客程序(仿猪八戒)功能强大 (2011-05-25 13:02:11) 标签: 猪八戒 功能 杂谈 网上卖300元的PHP威客程序(仿猪八戒)功能强大,美工超好. 1. ...

  8. mysql类exadata功能_几类关系型数据库的数据解决方案

    今天聊下几类关系型数据库的数据解决方案,算是抛砖引玉,近期也要对技术方向上做一些扩展,也算是前期的小结吧. 1 3 Oracle 目前市面上的主流版本应该还是11gR2,记得很多年前有个网站做过一次调 ...

  9. java 删除某一个学生_java编写一个程序,实现功能(定义一个类学生表示学生1. 增加学生2显示 3. 修改 4. 删除5查找某...

    www.mh456.com防采集. 1.Student.java代码如下/** * 2016年5月211312日上午526111:03:22 *  * @author 3306 TODO 建立学生实体 ...

最新文章

  1. python解析response_python:解析requests返回的response(json格式)说明
  2. php和python哪个工资高-Java、Python、Php学哪个好,哪个更有前景?
  3. Android全局修改字体大小,Android 仿微信全局字体大小调整
  4. 超强整理!PCB设计之电流与线宽的关系
  5. 谷歌OKR指导手册 (译)
  6. Python基础教程:set集合的教程
  7. python django model定义
  8. php memcached get,PHP Memcached操作类
  9. android最新版本 note8,三星Note8官方国行版安卓9固件rom升级包:CHC-N9500ZCS4DSF5
  10. Python捕捉命令输出、错误输出及赋值命令到变量的方法
  11. Android之apk优化
  12. html输入输出文件,学习如何用 C 语言来进行文件输入输出操作
  13. php文件苹果用什么软件打开,教你用什么软件打开php文件
  14. 15年全国电赛风力摆控制系统(一点也不难)
  15. 电路串联和并联图解_判断串联并联电路图口诀
  16. 如何提高(怎样才能不断提升自己)
  17. 充电系统(交流慢充,直流快充)
  18. Synch4j使用指南
  19. 你真的了解“药品追溯码”吗?
  20. Linux 分区、挂盘

热门文章

  1. k8s部署postgresql(含postgis插件)
  2. golang函数:命名返回值代码示例
  3. docker容器间数据共享
  4. Python Django jsonpickle序列化部分字段
  5. JDK synchronized的实现细节
  6. qlikview连接mysql_QlikView通过ODBC连接IBMDB2
  7. 性能测试(01)-jmeter元件-线程组、调试取样器
  8. GitLab添加SSH Keys并连接(windows)
  9. 高级线性表——静态链表(最全静态链表解读)
  10. kotlin sealed 中_7.8 Kotlin Sealed类