第一章 袋子

第一章 袋子

简介

抽象数据类型(ADT),独立于任何编程语言,是对概念上定义的一组数值以及在这些数值上的操作的规格说明。而数据结构ADT在编程语言中的实现。

集合是一个将其他对象形成组并向客户提供服务的对象。典型的集合能使客户增删查检改它所代表的对象。集合的行为被抽象化的说明。集合是ADT,而ADT去不一定是集合。

ADT袋子是集合和ADT的典型例子。在java中使用袋子,不需要知道袋子中数据项是如何表示的,也不需要知道袋子的操作是如何实现的吗,使用袋子的程序不依赖于这些细节。程序的这一特征就是数据抽象。

1.袋子的定义

袋子是无序排列的对象的有限集合,可包含重复对象。

2.袋子的行为

操作对象

  • 向袋子中增加一个给定的对象
  • 删除一个未特别指定的对象
  • 删除一个特别指定的对象,如果有的话
  • 删除所有的对象

查看量

  • 获得当前对象数量
  • 查看袋子是否满
  • 查看袋子是否空

查看对象

  • 统计某个对象出现的次数
  • 查看是否包含某一个指定的对象
  • 查看所有对象

3.袋子的规格说明

涉及决策:当非正常情况发生时如何处理?

  • 返回信号,如试图从空袋子中删除一个物品,remove方法将会返回null,此值必须不同于袋子中任何物品
  • 返回布尔值,表示操作操作成功或失败
  • 抛出异常

4.接口

类的接口不包括:数据域、构造函数、私有方法和受保护方法。

public interface BagInterface<T> {

    boolean add(T newEntity);

    T remove();

    boolean remove(T anEntity);

    void clear();

    Integer getCurrentSize();

    boolean isFull();

    boolean isEmpty();

    Integer getFrequencyOf(T anEntity);

    boolean contains(T anEntity);

    T[] toArray();

}

转载于:https://www.cnblogs.com/junlin7/p/8318984.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值