什么是集合?

菜园前端
• 阅读 436

原文链接:https://note.noxussj.top/?source=helloworld


什么是集合?

集合是一种无序且唯一的数据结构,其中的唯一是指集合中的元素。在 ES6 中新增了一种数据结构 Set 就是集合。

实现功能

  • new() 实例化一个集合
  • add() 添加元素
  • delete() 删除元素
  • has() 判断是否存在元素
  • size() 获取集合大小

应用场景

  1. 去重
  2. 判断某元素是否在集合中
  3. 求两个集合的交集

基础案例

常用操作

const set = new Set()

// 添加 set 元素
set.add(1)
set.add(5)
set.add(5)
set.add('some text')
const o = { a: 1 }
set.add(o)
set.add({ a: 1 })

// 判断元素是否存在 set 中
const has = set.has('some text') // true

// 删除 set 元素
set.delete(5)

// 迭代
for (const item of set) {
    console.log(item)
}

应用场景

// 去重
const arr = [1, 1, 2, 2]
const arr2 = [...new Set(arr)] // [1, 2]

// 判断元素是否在集合中
const set = new Set(arr)
const has = set.has(3) // false

// 求交集
const set2 = new Set([2, 3])
const set3 = [...set].filter((x) => set2.has(x)) // [2]
点赞
收藏
评论区
推荐文章
Chase620 Chase620
3年前
ArrayList底层
一、ArrayList集合底层数据结构1.ArrayList集合介绍List集合的可调整大小数组实现。2.数组结构介绍增删快:每次增加删除元素,都需要更改数组长度、拷贝以及移除元素位置。查询快:由于数组在内存中是一块连续空间,因此可以根据地址索引的方式快速获
Wesley13 Wesley13
3年前
javaAPI_集合基础_List
List集合1.list集合以及其特点list集合是有序的,且可重复的。有序是指:存储的是什么那么遍历出来的也就是什么。2.list集合特有的功能(1).添加功能voidadd(intindex,objectelement):在指定位置添加元素(2).获取功能Objectget(intind
Stella981 Stella981
3年前
Python中的list详解
Python中内置的一种数据类型list,列表。list是一个有序集合,所谓有序集合就是可以通过Key或者Index进行访问(无序集合,集合的元素只能遍历,比如set)。list能随时随地进行增加和删除。python中list用\\进行表示。例如:\\\friends\'fanbinbin','libinbin','xijin
Wesley13 Wesley13
3年前
Java集合框架之概括
Java集合框架之概括java集合框架是一种数据结构,即以某种形式将数据组织在一起的集合。Java集合框架支持以下两种类型的容器。一种是为了存储一个元素集合,简称集合(collection)。如ArrayList,LinkedList另一种是为了存储键/值对,称为图(map),如HashMa
Wesley13 Wesley13
3年前
Java_Learn
20180417集合类Collection如果是实现了list接口的集合类,具备的特点是有序,可重复;如果是实现了set接口的集合类,具备的特点是无序,不可重复;Collection中的方法 增加 删除查看  add("添加任意类型的元素到集合中"); addall("添加一个集合的元素到另外一个集合中") clear("
Stella981 Stella981
3年前
Redis数据结构
Redis数据结构有序集合有序集合和集合类似,只是说它是有序的,和无序集合的主要区别在于每一个元素除了值之外,它还会多一个分数。分数是一个浮点数,在Java中是使用双精度表示的,对于每一个元素都是唯一的,但是对于不同元素而言,它的分数可以一样。元素也是String数据类型,也是一种
小万哥 小万哥
9个月前
Java 包装类:原始数据类型与迭代器
JavaIteratorIterator接口提供了一种迭代集合的方法,即顺序访问集合中的每个元素。它支持hasNext()和next()方法,用于检查是否存在下一个元素以及获取下一个元素。获取Iterator可以使用集合的iterator()方法获取Ite
菜园前端 菜园前端
1年前
什么是栈?
原文链接:栈是基础数据结构,栈是一种遵循后进先出原则的有序集合,添加新元素的一端称为栈顶,另一端称为栈底。操作栈的元素时,只能从栈顶操作(添加、移除、取值)。实现功能在JavaScript中没有栈,但是可以通过Array实现栈的所有功能push()入栈po
菜园前端 菜园前端
1年前
什么是队列
原文链接:什么是队列?队列是一种遵循先进先出原则的有序集合,添加新元素的一端称为队尾,另一端称为队首。实现功能在JavaScript中没有队列,但是可以通过Array实现队列的所有功能enqueue()入队dequeue()出队top()获取队首值size
菜园前端 菜园前端
1年前
什么是字典?
原文链接:什么是字典?与集合类似,字典也是一种存储唯一值的数据结构,但它是以键值对的形式来存储。在ES6中新增了Map字典。实现功能delete删除元素clear清空所有元素set添加/覆盖元素get查找/返回元素的值has判断是否包含某个元素应用场景1.