集合的介绍

1. 集合的介绍

几乎每种编程语言中,都有集合结构。
集合比较常见的实现方式时哈希表(后续会学习),我们这里来实现一个封装的集合类。

  • 集合的特点
    • 集合通常是由一组无序的,不能重复的元素构成
    • 和数学中的集合名词比较相似,但是数学中的集合范围更大一些,也允许集合中的元素重复
    • 在计算机中,集合通常表示的结构中元素是不允许重复的
  • 看成一种特殊的数组
    • 其实集合你可以将它看成一种特殊的数组
    • 特殊之处在于里面的元素没有顺序,也不能重复
    • 没有顺序意味着不能通过下标值进行访问,不能重复意味着相同的对象在集合中只会存在一份

集合的实现

  • 我们要像之前学习其他数据结构一样,来学习一下集合
  • 最主要的学习方式就是封装一个属于自己的集合类,并且可以通过该类进行集合相关的操作
  • 2011年6月份发布的ES5中已经包含了Array类
  • 2015年6月份发布的ES6中包含了Set类,所以其实我们可以不封装直接使用它
  • 但是这里,为了明确集合的内部实现机制,我们这里还是自己来封装一下这个Set类

2. 集合的封装

像前面封装其他数据类型一样,我们也来封装一下集合类(Set类)。

创建集合类
我们先来封装一个Set类


代码解析:

 

  • 代码就是封装了一个集合的构造函数
  • 在集合中,添加了一个items属性,用于保存之后添加到集合中的元素,因为Object的keys本身就是一个集合
  • 后续我们给集合添加对应的操作方法

3. 集合的常见操作

集合有哪些常见的操作方法呢?

  • add(value):向集合添加一个新的项。
  • remove(value):从集合移除一个值。
  • has(value):如果值在集合中,返回true,否则返回false。
  • clear():移除集合中的所有项。
  • size():返回集合所包含元素的数量。与数组的length属性类似。
  • values():返回一个包含集合中所有值的数组。
  • 还有一些集合其他相关的操作,暂时用不太多,这里暂不封装

我们来一个个实现这些方法,相对都比较简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值