• 这次的课堂实验比较简单,但尴尬的是竟然没有做出来,自己的代码能力下降了不少。IDEA的Junit测试出了问题。所以这次实验是和结对伙伴结对编程写的。
public class Bag<T> implements Baginterface<T> {

    private ArrayList<T> mArraylist = new ArrayList<>();

    @Override
public int getCurrentSize() {
return mArraylist.size();
} @Override
public boolean isEmpty() { if (mArraylist.size()==0){
return false;}
else
return true;
} @Override
public boolean add(T newEntry) { mArraylist.add(newEntry); return false; } @Override
public T remove() {
if (mArraylist!=null) {
mArraylist.remove(mArraylist.size() - 1);
return null;
}
else{
return null;}
} @Override
public boolean remove(T anEntry) { mArraylist.remove(anEntry); return false;
} @Override
public void clear() {
mArraylist.clear();
} @Override
public int getFrequencyOf(T anEntry) {
if (mArraylist.contains(anEntry)==true){
return 0;}
else return 1;
}
public void getFrenquency(T anEntry){ if (getFrequencyOf(anEntry)==0){
System.out.println("Bag has it");
}
else
System.out.println("Bag doesn't have it"); } @Override
public boolean contains(T anEntry) { return false;
}
}

根据接口类Baginterface的抽象方法,Bag类应该实现以下方法:

  • getCurrentSize():得到Bag里面元素的个数
  • isEmpty():检测Bag是否为空
  • add():向Bag里面添加元素
  • remove():移除Bag中的指定元素
  • clear():移除Bag中的所有元素
  • getFrequencyOf():检查某个元素在Bag中出现的次数
  • contains():检查某个元素是否存在于Bag中

课堂实验-Bag的更多相关文章

  1. 课堂作业-Bag类的实现

    课堂作业-Bag类的实现 要求: 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息 参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并对方法进 ...

  2. 课堂实验-模拟实现Sort

    课堂实验 模拟实现Linux下Sort -t : -k 2的功能.参考 Sort的实现. 代码如下: /** * Created by Administrator on 2017/5/20. */ i ...

  3. 课堂实验-String类和Arrays类

    课堂实验 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arrays类 sort binarySea ...

  4. 【课堂实验】Arrays和String单元测试

    实验内容 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arrays类 sort binarySea ...

  5. Oracle课堂实验一“表的使用”代码。

    --创建本地管理表空间CustomerTBSCREATE TABLESPACE CustomerTBS         DATAFILE 'd:\Oracle11\product\11.2.0\ora ...

  6. Java的课堂实验

    题目是:用Aplet创建一个小程序,使得当你的鼠标经过图片时,放歌~ 其中,补充知识:1.MouseMotionListener这个和MouseListener这两个监听器要了解以下 2.Aplet这 ...

  7. 关于Java课堂实验中的一些总结(Scanner)

    import java.util.Scanner; 这个头文件是java里面用来输入东西的,就相当于c++里面的iostream输入流...?暂且这么理解吧 然后使用方法:Scanner in = n ...

  8. 20145202马超《java》【课堂实验】P98测试

    当时在加水印所以没来得及提交,然而我回宿舍第一时间就提交了,希望老师额能够看到

  9. 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

    有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...

随机推荐

  1. A .Gaby And Addition (Gym - 101466A + 字典树)

    题目链接:http://codeforces.com/gym/101466/problem/A 题目: 题意: 给你n个数,重定义两个数之间的加法不进位,求这些数中两个数相加的最大值和最小值. 思路: ...

  2. bzoj 1143 二分图最大独立集

    我们可以将一个点拆成两个点x,y,那么如果存在一条i->j的路径,我们就连接xi,yj,那么答案就是n-最大匹配数. 因为i->j所以对于i与j只能选一个,那么我们只需要求出来二分图的最大 ...

  3. 常见踩坑案例(一) subList引起FULLGC

    计划真的赶不上变化,时间过得真快.废话不多说了,今天主要记录之前有同事遇到的一些坑分享出来. 一.封装类的应用会引起NPE异常 对于其他对象的应用,一般在使用之前会判断它是否为空,如果不为空才会使用它 ...

  4. linux系统分区参考

    UPDATE: update is used to download package information from all configured sources. UPGRADE:  upgrad ...

  5. Git学习笔记3 git revert

    我们难免会因为种种原因执行一些错误的commit / push,git提供了revert命令帮助程序员修复这样的错误. 举个例子,下图是git commit 的历史记录 git revert 命令会通 ...

  6. jquery 通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)

    jquery 通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素) $("ul").append("<li cla ...

  7. mac上卸载mysql

    在终端输入一下命令 sudo rm /usr/local/mysqlsudo rm -rf /usr/local/mysql*sudo rm -rf /Library/StartupItems/MyS ...

  8. 使用CEPH RGW admin ops API 进行用户user AK/SK管理的秘诀

    需求: 云平台面板上需要支持为不同的用户创建不同的RGW 的AK/SK用户秘钥,以完成对象存储的用户隔离,并可以管理bucket和查看bucket容量信息. 分析:查阅CEPH官网文档 S3 API  ...

  9. JS模块化规范AMD之RequireJS

    1.基本操作 加载 JavaScript 文件(入口文件) RequireJS以一个相对于baseUrl的地址来加载所有的代码 <script data-main="scripts/m ...

  10. IEEEXtreme 10.0 - Ellipse Art

    这是 meelo 原创的 IEEEXtreme极限编程大赛题解 Xtreme 10.0 - Ellipse Art 题目来源 第10届IEEE极限编程大赛 https://www.hackerrank ...