linq判断集合中相同元素个数_iOS开发swift语法梳理:集合Set
1.集合的三特性
- 确定性:给定一个集合,任意给一个元素,该元素或者属于或者不属于该集合,二者必居其一。
- 互斥性:一个集合中的所有元素都是不相同的。
- 无序性:每个元素的地位相同,元素之间是无序的。
2.Set的创建
// 初始化器创建
var letters = Set<Character>()
letters.insert("c")
print(letters) // 输出 ["c"]// 数组字面量来创建set
var course: Set<String> = ["Math", "English"]
course.insert("History")
3.Set的遍历
For-in遍历,由于Set是无序的,如果要顺序遍历Set,需要使用sorted()方法。
var courses: Set<String> = ["Math", "English"]
for course in courses.sorted() {print(course)
}
// 输出 English Math
4.Set常用属性和方法
- 使用count获得Set里元素个数
- 使用isEmpty判断Set是否为空
- insert(_: )添加一个元素到Set
- update(with:) 如果已有相等的元素,替换为新的元素,如果Set中没有,则插入
- filter(_:)返回一个新的Set,新Set的元素是原始Set符合条件的元素
var personSet: Set = [Person(name: "lewis", age 30)]
personSet.update(with: Person(name: "Jonathan", age: 20))
print(personSet.filter{ $0.age > 25 })
// 输出 Person[name: "lewis", age: 30]
- remove(_:)从Set中移除一个元素,如果元素是Set的成员就移除它,并返回移除的值,如果集合没有这个成员就返回nil
- removeAll()移除集合中所有元素
5.Set的基本操作
- intersection(_:)是求两个集合的交集
- union(_:)求两个集合的并集
- symmetricDifference(_:)就两个集合的对称差集
- subtracting(_:)是求两个集合的相对补集
let set: Set<Character> = ["A","B","C"]
let set2: Set<Character> = ["B","E","F","G"]
print(set.intersection(set2))
print(set.union(set2))
print(set.symmetricDifference(set2))
print(set.subtracting(set2))
// 输出如下
// ["B"]
// ["E","F","B","G","A","C"]
// ["E","F","C","A","G"]
// ["A","C"]
6.Set的判断方法
- isSubset(of:)判断是否是另一个Set或者Sequence的子集
- isSuperset(of:)判断是否是另一个Set或者Sequence的超集
- isStrictSubset(of:)和isStrictSuperset(of:)判断是否是另一个Set的子集或超集,但又不等于另个一Set
- isDisjoint(with:)判断两个Set是否有公共元素,如果没有返回true,有则返回false
let smallSet: Set = [1,2,3]
let bigSet: Set = [1,2,3,4]
print(smallSet.isSubset(of: bigSet))
print(bigSet.isSuperset(of: smallSet))
print(bigSet.isStrictSuperset(of: smallSet))
print(smallSet.isDisjoint(with: bigSet))
// 输出 true true true false
linq判断集合中相同元素个数_iOS开发swift语法梳理:集合Set相关推荐
- linq判断集合中相同元素个数_JavaSe集合的概念以及集合框架介绍
###集合 今天任务 1.概念1.1 集合的概念1.2 集合的框架结果介绍1.3 集合和数组的对比 2.Collection接口2.1 Collections中常用的方法 3.泛型3.1 什么是泛型3 ...
- java基础—自定义一个比较器,对TreeSet 集合中的元素按指定方法来排序(java集合六)
自定义一个比较器,对TreeSet 集合中的元素按指定方法来排序 import java.util.Comparator; import java.util.Iterator; import java ...
- linq判断集合中相同元素个数_java----Collection集合常用方法
Collection集合常用方法名 说明 boolean add(E e) 集合当中添加元素 Boolean remove(object o) 从集合当中清除指定元素 Void clear() 清空集 ...
- python集合中的元素是否可以重复_python列表--查找集合中重复元素的个数
方法一: >>> mylist = [1,2,2,2,2,3,3,3,4,4,4,4] >>> myset = set(mylist) >>> f ...
- java 迭代器 entryset_Java使用entrySet方法获取Map集合中的元素
本文为大家分享了使用entrySet方法获取Map集合中元素的具体代码,供大家参考,具体内容如下 /*--------------------------------- 使用entrySet方法取出M ...
- 判断数组中某个元素除自身外是否和其他数据不同_布隆过滤器,我也是个处理过 10 亿数据的人...
❝ 文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱 什么是 BloomFilter 布隆过滤器(英语:Bloom Filter)是 1970 年由布隆提出的.它实际上是 ...
- 判断数组中某个元素除自身外是否和其他数据不同_算法工程师要懂的3种算法数据结构:线性表详解...
算法思想有很多,业界公认的常用算法思想有8种,分别是枚举.递推.递归.分治.贪心.试探法.动态迭代和模拟.当然8种只是一个大概的划分,是一个"仁者见仁.智者见智"的问题. 其实这些 ...
- 如何去掉list集合中重复元素大全
如何去掉list集合中重复元素大全 创建实体对象 模拟集合 方法一:遍历实体类的每一个属性 方法二:利用list中contains方法去重 方法三:java 8中流式去重操作 方法四:HashSet去 ...
- python集合类型中的元素是有序的_数据类型;有序集合类型(sorted set)
有序集合sortedset 一特点 1.有序.去重 2.元素是字符串类型 3.每个元素都关联着一个浮点数分值(score),并按照分支从小到大的顺序排列集合中的元素(分值可以相同) 4.最多包含2^3 ...
最新文章
- Spring mvc HandlerMapping 实现机制
- 【数据结构笔记30】拓扑排序、AOV网络、AOE网络、关键工序
- git 日常 常用命令
- 遥感数字图像处理——第五章——辐射校正
- 值得收藏的UmiJS 教程
- Maven命令安装JAR包到本地仓库
- erdas空间建模_ERDAS空间建模工具介绍
- Glide图片框架使用详细介绍(一),kotlin从入门到进阶实战电子书
- 草根IT江湖路之三:希望,在坚持之中
- 谈业务流程全生命周期管理支撑业务流程再造(2)
- POI使用公式的问题,POI对excel函数的支持
- thinkpad e450c 键盘拆解
- 分组折线图、柱状图实现(多条折线图、柱状图同时显示)实现方式
- python寻峰,[LeetCode][Python]162. 寻找峰值
- strlen获取char*的大小问题
- 计算机专业建议买苹果笔记本吗,笔记本买win还是买Mac?也许可以参考这些建议...
- 知物由学 | 虚假色情泛滥,人工智能可以做些啥?
- 全国历史天气查询/历史天气预报查询——全国各月份数据爬取
- 日常开发中的一些js处理数据的方法,包括对数据的过滤,以及对数据的验证
- Python每日一练——第4天:百钱百鸡问题(升级版)
热门文章
- jax-ws cxf_Apache CXF – JAX-WS –简单教程
- macosx jdk_MacOSX环境上的多个Java JDK
- java三件套_Java开发人员应该知道的三件事
- activemq 连接_ActiveMQ网络连接器
- 如何开发高度可定制的产品
- Mockito –带有注释和静态方法的额外接口
- 使用MRUnit测试Hadoop程序
- Java中的类型安全的空集合
- 立镖机器人浙江_立镖在美国获2020 NextGen供应链解决方案奖
- mysql启动命令 windows_Windows下Nginx的启动停止等基本操作命令详解