swift set
-------------------------------- As of Swift 1.2 (Xcode 6.3 beta),Swift has a native set type. From the release notes:
Here are some simple usage examples: // Create set from array literal: var set = Set([1,2,3,1]) // Add single elements: set.insert(4) set.insert(3) // Add multiple elements: set.unionInPlace([ 4,5,6 ]) // Remove single element: set.remove(2) // Remove multiple elements: set.subtractInPlace([ 6,7 ]) print(set) // [5,1,4] // Test membership: if set.contains(5) { print("yes") } but there are far more methods available. Update:Sets are now also documented in the"Collection Types"chapter of the Swift documentation. from:http://stackoverflow.com/questions/25246571/what-is-a-equivalent-of-hashset-java-in-swift -------------------------------------
文/PPPPPPMST(简书作者)
原文链接:http://www.jianshu.com/p/ee9d6490aea0 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。 字典(dictionary)、数组(array)、集合(set)区别:
Set 类型语法前瞻1.类型: //1
var favoriteGenres: Set<String> = ["Rock","Classical","Hip hop"]
//2
var favoriteGenres2:Set<String> = ["Rock","Hip hop","Hip hop"]
注意初始方法和数组很相像,1和2的区别还在于2中“Hip hop”重复了2次,秉着集合元素不可重复特性,因此1、2两个集合最后初始化的结果是一样,均为{"Rock","Classical","Hip hop"}。 对了Swift是动态语言,因此即使你未指明集合元素的类型,它也能帮你推断出来,例如这么写 Set 操作
补集、交集、并集数学中我们曾学习过对集合的操作,包括求两个集合的补集、交集、并集。如下图 无须自己实现,Swift已经提供了相关API,我们所以要做的是学习如何操作这些API即可,当然你有兴趣可以深挖下。 先简单介绍下上图中的四个集合操作:
官方文档提供了一个例子,奇数集合oddDigits、偶数集合evenDigits和素数集合singleDigitPrimeNumbers,注意集合内元素均是独一无二的。 let oddDigits: Set = [1,3,5,7,9]
let evenDigits: Set = [0,2,4,6,8]
let singleDigitPrimeNumbers: Set = [2,7]
oddDigits.union(evenDigits).sort()
// [0,4,6,7,8,9]
oddDigits.intersect(evenDigits).sort()
// []
oddDigits.subtract(singleDigitPrimeNumbers).sort()
// [1,9]
oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()
// [1,9]
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |