Swift Set集合及常用方法详解总结

 更新时间:2021年11月06日 11:07:17   作者:Lucky_William  
Set集合为集类型,集是最简单的一种集合,存放于集中的对象不按特定方式排序,只是简单地把对象加入集合中,类似于向口袋里放东西,对集中存在的对象的访问和操作是通过对象的引用进行的,因此在集中不能存放重复对象
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

Swift 集合 Set 及常用方法

1. 创建Set集合

// 创建Set
var set: Set<Int> = [1, 2, 3]
var set2 = Set(arrayLiteral: 1, 2, 3)

2. 获取元素

// set 获取最小值
set.min()

// 获取第一个元素,顺序不定
set[set.startIndex]
set.first

// 通过下标获取元素,只能向后移动,不能向前
// 获取第二个元素
set[set.index(after: set.startIndex)]

// 获取某个下标后几个元素
set[set.index(set.startIndex, offsetBy: 2)]

3. 常用方法

// 获取元素个数
set.count

// 判断空集合
if set.isEmpty {
   print("set is empty")
}

// 判断集合是否包含某个元素
if (set.contains(3)) {
    print("set contains 3")
}

// 插入
set.insert(0)

// 移除
set.remove(2)
set.removeFirst()

// 移除指定位置的元素,需要用 ! 拆包,拿到的是 Optional 类型,如果移除不存在的元素,EXC_BAD_INSTRUCTION
set.remove(at: set.firstIndex(of: 1)!)

set.removeAll()


var setStr1: Set<String> = ["1", "2", "3", "4"]
var setStr2: Set<String> = ["1", "2", "5", "6"]

// Set 取交集
setStr1.intersection(setStr2) // {"2", "1"}

// Set 取交集的补集
setStr1.symmetricDifference(setStr2) // {"4", "5", "3", "6"}

// Set 取并集
setStr1.union(setStr2) // {"2", "3", "1", "4", "6", "5"}

// Set 取相对补集(差集),A.subtract(B),即取元素属于 A,但不属于 B 的元素集合
setStr1.subtract(setStr2) // {"3", "4"}

var eqSet1: Set<Int> = [1, 2, 3]
var eqSet2: Set<Int> = [3, 1, 2]

// 判断 Set 集合相等
if eqSet1 == eqSet2 {
    print("集合中所有元素相等时,两个集合才相等,与元素的顺序无关")
}

let set3: Set = [0, 1]
let set4: Set = [0, 1, 2]

// 判断子集
set3.isSubset(of: set4) // set3 是 set4 的子集,true
set3.isStrictSubset(of: set4) // set3 是 set4 的真子集,true

// 判断超集
set4.isSuperset(of: set3) // set4 是 set3 的超集,true
set4.isStrictSuperset(of: set3) // set4 是 set3 的真超集,true

4. Set 遍历

// 遍历元素
for ele in set4 {
    print(ele)
}

// 遍历集合的枚举
for ele in set4.enumerated() {
    print(ele)
}

// 下标遍历
for index in set4.indices {
    print(set4[index])
}

// 从小到大排序后再遍历
for ele in set4.sorted(by: <) {
    print(ele)
}

GitHub 源码:SetType.playground

到此这篇关于Swift Set集合及常用方法详解总结的文章就介绍到这了,更多相关Swift Set集合内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • 实例讲解Swift中引用类型的ARC自动引用计数

    实例讲解Swift中引用类型的ARC自动引用计数

    自动引用计数是在Objective-C中就有的特性,用来辅助管理对象的引用,这里我们就来以实例讲解Swift中引用类型的ARC自动引用计数:
    2016-07-07
  • 零基础上手Swift快速入门教程概览

    零基础上手Swift快速入门教程概览

    这篇文章主要介绍了零基础上手Swift快速入门教程概览,Swift是由苹果开发的新编程语言并且即将开源,需要的朋友可以参考下
    2015-11-11
  • 在一个项目中同时使用Swift和Objective-C代码混合编程的方法

    在一个项目中同时使用Swift和Objective-C代码混合编程的方法

    这篇文章主要介绍了在一个项目中同时使用Swift和Objective-C代码的方法,在一个工程中同时使用Swift和Objective-C混合语言编程的方法,需要的朋友可以参考下
    2014-07-07
  • Swift中重写和重载的使用与对比总结

    Swift中重写和重载的使用与对比总结

    这篇文章主要给大家介绍了关于Swift中重写和重载的使用方法,以及重写和重载的对比分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • Swift 常量与变量实例详解

    Swift 常量与变量实例详解

    这篇文章主要介绍了Swift 常量与变量实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • swift相册相机的权限处理示例详解

    swift相册相机的权限处理示例详解

    在iOS7以后要打开手机摄像头或者相册的话都需要权限,在iOS9中更是更新了相册相关api的调用,那么下面这篇文章主要给大家介绍了关于swift相册相机权限处理的相关资料,文中给出了详细的示例代码,需要的朋友可以参考下。
    2017-10-10
  • Swift 字符串类型及常用方法详解总结

    Swift 字符串类型及常用方法详解总结

    Swift 字符串是一系列字符的集合。例如 "Hello, World!" 这样的有序的字符类型的值的集合,它的数据类型为 String,接下来文章将详细探讨
    2021-11-11
  • swift?cell自定义左滑手势处理方法

    swift?cell自定义左滑手势处理方法

    这篇文章主要介绍了swift?cell自定义左滑手势处理,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Swift心得笔记之运算符

    Swift心得笔记之运算符

    区别于 C 语言,在 Swift 中你可以对浮点数进行取余运算(%),Swift 还提供了 C 语言没有的表达两数之间的值的区间运算符,(a..b和a...b),这方便我们表达一个区间内的数值。
    2015-04-04
  • Swift 3.0将UILabel数字颜色设置为红色的方法

    Swift 3.0将UILabel数字颜色设置为红色的方法

    这篇文章主要介绍了关于在Swift中将UILabel数字颜色设置为红色的方法,文中给出了详细的示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03

最新评论

?


http://www.vxiaotou.com