首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Kotlin】集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )

文章目录 一、Set 集合 二、可变 Set 集合 三、List 与 Set 之间相互转换 四、数组类型 一、Set 集合 ---- List 集合中的元素是 可以重复 的 , Set 集合中的元素...不可重复 ; 调用 setOf 函数 , 可以创建 Set 集合 ; 调用 Set#elementAt 函数 , 可以 读取 Set 集合中的元素 ; 代码示例 : fun main() { val...set = setOf("Tom", "Jerry", "Jack") println(set.elementAt(1)) } 执行结果 : Jerry 二、可变 Set 集合 ---- 调用...mutableSetOf 函数 , 可以创建 可变 Set 集合 ; 可变 Set 集合 , 可以 使用 += 运算符 添加元素 , 使用 -= 运算符删除元素 ; 代码示例 : fun main()...; 调用 Set#toList() 函数 , 可以将 Set 集合转为 List 集合 ; 代码示例 : fun main() { val list = listOf("Tom", "Jerry

47120

006:Redis-Set集合类型操作使用

Set集合类型: 所谓的集合好比一个乾坤袋,什么东西都可以放进去,但是每个集合中的各个元素不能重复。...redis的set是string类型的无序集合 set元素最大可以包含(2的32次方-1)个元素 关于set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的取并集(union),交集(intersection...通过这些操作可以很容易的实现好友推荐功能: 下图所示: 我们用集合把两个人的朋友圈表示出来: Set集合类型操作: 首先我们还是先看一下set类型操作: sadd key member:...设置名为tomFri的key,其类型set,内部有5个元素 设置名为linkenFri的key,其类型set,内部有5个元素: 已经设置好两个集合了。...smove p1 p2 member: 把集合1的元素移动到集合2中、 srem key member: 从集合中删除指定的元素出去 这就是set集合类型的基本操作使用。

30020
您找到你想要的搜索结果了吗?
是的
没有找到

【Redis实战】集合类型Set

文章目录 1、增加/删除元素(SADD和SREM) 2、获得集合中得到所有元素(SMEMBERS) 3、判断元素是否在集合中(SISMEMBER) 4、集合间运算(SDIFF/SINTER/SUNION...) 5、获得集合中元素个数(SCARD) 6、进行集合运算并将结果存储(SDIFFSTORE) 7、随机获得集合中的元素(SRANDMEMBER) 8、从集合中弹出一个元素(SPOP) 1、增加/删除元素...由值于元素“d”在集合中不存在,所有只删除了一个元素,返回值为1。 2、获得集合中得到所有元素(SMEMBERS)   SMEMBERS命令会返回集合中的所有元素。...7、随机获得集合中的元素(SRANDMEMBER)   SRANDMEMBER命令用来随机从集合中获取一个元素。...(1)当count为正数时,SRANDMEMBER会随机从集合里获得count个不重复的元素。如果count的值大于集合中的元素个数,则SRANDMEMBER会返回集合中的全部元素。

35340

【C++】STL 容器 - set 集合容器 ① ( set 集合容器简介 | set 集合容器操作的时间复杂度 | set 集合容器常用操作 )

set 中的元素只能出现一次 , multiset 中的元素可以出现多次 ; set 集合容器 中的元素 不能直接修改 , 只能 先删除 原来的元素 , 然后插入新元素 ; 2、set 集合容器操作的时间复杂度...set 集合容器 的 底层采用 " 红黑树 " 数据结构 实现 , 红黑树 是一种 " 平衡二叉树 " , 其特点是 插入 / 删除 操作 , 比线性表要快 ; set 集合容器 操作的 时间复杂度...就是 红黑树操作 的时间复杂度 ; 红黑树是一种自平衡的二叉搜索树 , 其插入和删除操作的时间复杂度可以依赖于特定的实现和操作类型 ; 红黑树 的 插入 / 删除 操作 , 分两种情况 , 在平均情况下...的 插入 / 删除 操作 性能更高 ; 3、set 集合容器常用操作 set 集合容器常用操作 : 插入元素 : 调用 insert 函数 可以向 set 集合容器中插入元素 , 如果元素已存在 ,...则不会执行任何操作 ; 删除元素 : 调用 erase 函数 可以删除 set 集合容器中的指定元素 , 如果元素不存在 , 则不会执行任何操作 ; 遍历容器 : 使用 set::iterator

16410

Redis数据类型Set集合类型

Set类型 1.2.1. 简介 Redis 的 Set 是 String 类型的无序集合集合成员是唯一的,这就意味着集合中不能出现重复的数据。...类似于JAVA中的 Hashtable集合 redis的集合对象set的底层存储结构特别神奇,底层使用了intset和hashtable两种数据结构存储的,intset我们可以理解为数组,hashtable...就是普通的哈希表(key为set的值,value为null)。...差集语法: SDIFF key1 [key2] 返回给定所有集合的差集(左侧) ,获取集合中的差集(在集合1中存在,不在集合2中存在的元素) ?...对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存储到一个新的集合中。 利用唯一性,可以统计访问网站的所有独立 IP

38820

Python - 基础数据类型 set 集合

重点:因为 set 集合只能包含不可变对象元素,而列表、集合本身都是可变对象,所以会报错 集合和列表的区别 列表中的元素允许重复,集合中的元素不允许重复 列表是有序的,提供了索引操作集合是无序的,没有索引操作...set_ = {1, 1, 1, 1, 2} set[1] # 输出结果 set[1] TypeError: 'type' object is not subscriptable 提示该类型不能下标...set_ = set() print(set_, type(set_)) # 输出结果 set() 常见运算操作 运算符 | 合并多个集合 >>> {1, 2} | {...3, 2}) 1 集合常见方法 add(item) 向集合中新增一个元素 item # add set_ = {1, 2, 3} set_.add(1) set_.add(4) set_.add("5...# issuperset set1 = {1, 2, 3} set2 = {1, 2} print(set1.issuperset(set2)) # 输出结果 True 集合总结 因为集合是不可重复的

32510

【Redis实战】有序集合类型(Sorted Set

ZADD) 2、获得元素的分数(ZSCORE) 3、获得排名在某个范围的元素列表(ZRANGE) 4、获得指定分数范围的元素(ZRANGEBYSCORE) 5、增加某个元素的分数(ZINCRBY) 6、获得集合中元素的数量...按照排名范围删除元素(ZREMRANGEBYRANK) 10、按照分数范围删除元素(ZREMRANGEBYSCORE) 11、获得元素的排名(ZRANK) 1、增加元素(ZADD)   ZADD命令用来向有序集合中加入一个元素和该元素的分数...ZADD命令的返回值是新加入到集合中的元素个数(不包含之前已经存在的元素)。   ...假设我们用有序集合模拟计分板,现在要记录Tom、Peter和David三名运动员的分数(分别是89分、67分和100分): 127.0.0.1:6379> ZADD scoreboard 89 Tom...127.0.0.1:6379> ZINCRBY scoreboard 4 Jerry "60" 127.0.0.1:6379> ZINCRBY scoreboard -4 Jerry "56" 6、获得集合中元素的数量

27420

为什么Python中会有集合set类型

有人提问,为什么Python有了列表list、元组tuple、字典dict这样的容器后,还要弄个集合set?...确实set和list、tuple、dict一样,都是python的主要数据类型,它们的作用是不同的。...因为set是数学意义上的集合,拥有唯一和无序的特性,即用来存放没有顺序且无重复的数据,并且元素是不可变的。 这和list、tuple完全不同,这两个能存放相同的元素,且支持索引,有顺序。...set可以很方便的进行并集、差集、交集、补集等的操作,这是其他容器做不到的。 「交集 &」: x&y,返回一个新的集合,包括同时在集合 x 和y中的共同元素。...所以总结set的两个重要作用: 「1、消除重复元素」 「2、关系测试(各种集)」 说起来,set和dict有点像,元素都是无序、唯一,且使用花括号{}来定义。

23540
领券