本节书摘来华章计算机《数据结构与抽象:Java语言描述(原书第4版)》一书中的第1章 ,第1.5节,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. Henry) 著 罗得岛大学 新英格兰理工学院 辛运帏 饶一梅 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.5 ADT集合
集合(set)是一种特殊的包,它不允许有重复项。当仅需要每次处理数据集中的一项时,可以使用集合。例如,编译程序必须找到程序中的标识符,并确保每个标识符仅定义一次。它将遇到的每个标识符添加到一个集合中。如果本次添加不成功,说明编译程序已检测到之前遇到的一个标识符。
为了说明这个ADT,我们回过头来看包的接口。包的大多数操作与ADT集合的一样。但是,我们需要修改add和remove的规格说明。而且我们真的不需要getFrequencyOf操作,因为对于集合,它总是返回0或1。虽然这个结果会告诉我们集合中是否含有给定的项,但我们可以使用contains方法。程序清单1-5含有ADT集合的接口。不带注释的那几个方法与程序清单1-1中的BagInterface给出的规格说明一样。
程序清单1-5 集合类的Java接口