上設置和陣列讀了我發現,一個集不能,或不能存儲重複值(整型,字符串等)。重複詮釋在陣,字典或設置SWIFT
認識到這一點,如果我們要解決在陣列中找到重複的詮釋,一個方法是將數組轉換成集,怎麼來的,一旦陣列是一組我們沒有得到一個錯誤?如果陣列包含重複
下面的方法簡單地返回一個布爾值。
import UIKit
func containsDuplicatesDictionary(a: [Int]) -> Bool {
var aDict = [Int : Int]()
for value in a {
if let count = aDict[value] {
aDict[value] = count + 1
return true
} else {
aDict[value] = 1
}
}
return false
}
containsDuplicatesDictionary(a: [1,2,2,4,5])
func containsDuplicatesSet(a: [Int]) -> Bool {
return Set(a).count != a.count
}
containsDuplicatesSet(a: [1,2,2,4])
第一功能,containsDuplicatesDictionary,我的數組轉換成詞典,當然這需要一個for循環爲好。 Set方法可以在一行中完成,這非常好。但我猜想,因爲我是新手,我認爲轉換數組會立即拋出一個錯誤,因爲它們重複的值。
我缺少什麼時,它的轉換
謝謝。
好了,所以如果我想追加同等價值的另一種詮釋,我就可以把它轉換回一個數組。 –
是的,沒錯。 –