仿ArrayList功能的bag类
仿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类相关推荐
- android开发:播放音频功能的工具类
播放音频功能的工具类 /*** 播放声音工具类* creator: ZZF* careate date: 2018/5/25 10:36.*/public class SoundUtils {priv ...
- 笔试题:写一个ArrayList 的动态代理类
package com.zhangxueliang.demo;import java.lang.reflect.InvocationHandler; import java.lang.reflect. ...
- 一个具有对象计数功能的基类
参考<<More Effective C++>>一书中的条款26:"限制某个class所能产生的对象数量",参照"一个用来计算对象个数的基类&qu ...
- Lession11 集合和泛型(ArrayList方法、Arraylist类、ArrayList添加对象、ArrayList长度、HashTable类、Hashtable类练习-----)
目录 ArrayList方法: ArrayList添加对象: Arraylist类: ArrayList长度: HashTable类: Hashtable类练习: IComparable泛型接口排序: ...
- 借助云开发,利用订阅消息,云函数路由实现小程序好友一对一聊天,添加好友等仿微信功能
微信小程序借助云开发,利用订阅消息,云函数路由实现小程序好友一对一聊天,添加好友等仿微信功能 这篇文章已经进行了更新,请点此进行查看 仿微信好友聊天 主要功能有 后续可能补充功能 详细介绍 注意 保存 ...
- 织梦dedecms仿CCTV门户资讯新闻类网站源码
介绍 织梦dedecms仿CCTV门户资讯新闻类网站源码: DIV+CSS,支持自定义添加全球任意语言. 拥有全面的SEO优化机制,支持全站静态设置. 通过360网站安全检测可得分100,程序可永久升 ...
- php威客程序(仿猪八戒),[转载]网上卖300元的PHP威客程序(仿猪八戒)功能强大
[转载]网上卖300元的PHP威客程序(仿猪八戒)功能强大 (2011-05-25 13:02:11) 标签: 猪八戒 功能 杂谈 网上卖300元的PHP威客程序(仿猪八戒)功能强大,美工超好. 1. ...
- mysql类exadata功能_几类关系型数据库的数据解决方案
今天聊下几类关系型数据库的数据解决方案,算是抛砖引玉,近期也要对技术方向上做一些扩展,也算是前期的小结吧. 1 3 Oracle 目前市面上的主流版本应该还是11gR2,记得很多年前有个网站做过一次调 ...
- java 删除某一个学生_java编写一个程序,实现功能(定义一个类学生表示学生1. 增加学生2显示 3. 修改 4. 删除5查找某...
www.mh456.com防采集. 1.Student.java代码如下/** * 2016年5月211312日上午526111:03:22 * * @author 3306 TODO 建立学生实体 ...
最新文章
- python解析response_python:解析requests返回的response(json格式)说明
- php和python哪个工资高-Java、Python、Php学哪个好,哪个更有前景?
- Android全局修改字体大小,Android 仿微信全局字体大小调整
- 超强整理!PCB设计之电流与线宽的关系
- 谷歌OKR指导手册 (译)
- Python基础教程:set集合的教程
- python django model定义
- php memcached get,PHP Memcached操作类
- android最新版本 note8,三星Note8官方国行版安卓9固件rom升级包:CHC-N9500ZCS4DSF5
- Python捕捉命令输出、错误输出及赋值命令到变量的方法
- Android之apk优化
- html输入输出文件,学习如何用 C 语言来进行文件输入输出操作
- php文件苹果用什么软件打开,教你用什么软件打开php文件
- 15年全国电赛风力摆控制系统(一点也不难)
- 电路串联和并联图解_判断串联并联电路图口诀
- 如何提高(怎样才能不断提升自己)
- 充电系统(交流慢充,直流快充)
- Synch4j使用指南
- 你真的了解“药品追溯码”吗?
- Linux 分区、挂盘
热门文章
- k8s部署postgresql(含postgis插件)
- golang函数:命名返回值代码示例
- docker容器间数据共享
- Python Django jsonpickle序列化部分字段
- JDK synchronized的实现细节
- qlikview连接mysql_QlikView通过ODBC连接IBMDB2
- 性能测试(01)-jmeter元件-线程组、调试取样器
- GitLab添加SSH Keys并连接(windows)
- 高级线性表——静态链表(最全静态链表解读)
- kotlin sealed 中_7.8 Kotlin Sealed类