Swift Set集合及常用方法详解总结
Set集合为集类型,集是最简单的一种集合,存放于集中的对象不按特定方式排序,只是简单地把对象加入集合中,类似于向口袋里放东西,对集中存在的对象的访问和操作是通过对象的引用进行的,因此在集中不能存放重复对象
Swift 集合 Set 及常用方法
1. 创建Set集合
1 2 3 | / / 创建 Set var set : Set < Int > = [ 1 , 2 , 3 ] var set2 = Set (arrayLiteral: 1 , 2 , 3 ) |
2. 获取元素
1 2 3 4 5 6 7 8 9 10 11 12 13 | / / set 获取最小值 set . min () / / 获取第一个元素,顺序不定 set [ set .startIndex] set .first / / 通过下标获取元素,只能向后移动,不能向前 / / 获取第二个元素 set [ set .index(after: set .startIndex)] / / 获取某个下标后几个元素 set [ set .index( set .startIndex, offsetBy: 2 )] |
3. 常用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | / / 获取元素个数 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 遍历
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | / / 遍历元素 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集合及常用方法详解总结的文章就介绍到这了
原文链接:https://blog.csdn.net/java_android_man/article/details/121171452