第一章 袋子

Posted junlin7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一章 袋子相关的知识,希望对你有一定的参考价值。

第一章 袋子

简介

抽象数据类型(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();

}

以上是关于第一章 袋子的主要内容,如果未能解决你的问题,请参考以下文章

大道至简第一章伪代码

《大道至简》第一章读后感及伪代码

大道至简第一章java伪代码读后感

第一章读书笔记

大道至简第一章伪代码

大道至简第一章伪代码