【Swift學習】Swift編程之旅---集合類型之Sets(七),swiftsets

來源:互聯網
上載者:User

【Swift學習】Swift編程之旅---集合類型之Sets(七),swiftsets

  Sets是儲存無序的相同類型的值,你可以在順序不重要的情況下使用Sets來替代數組,或者當你需要同一個值在集合中只出現一次時。

  一、Sets類型文法

   寫作Set<Element>,Element是sets允許儲存的類型

  建立並初始化一個空的set

var letters = Set<Character>()print("letters is of type Set<Character> with \(letters.count) items.")// Prints "letters is of type Set<Character> with 0 items.

 

 

  如果可以推斷出它元素的類型也可以寫作

letters = []

 

 

  通過數組字面量來建立set

var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]// favoriteGenres has been initialized with three initial items

或者(因為可以推斷為set<String>)

var favoriteGenres:Set = ["Rock", "Classical", "Hip hop"]// favoriteGenres has been initialized with three initial items

 

 

  訪問和修改

  count方法返回set的資料項目數目

print("I have \(favoriteGenres.count) favorite music genres.")// Prints "I have 3 favorite music genres.

 

 

  isEmpty判斷set是否為空白

 

   contains(_:)檢查set對象是否包含特定的資料。

if favoriteGenres.contains("Funk") {    print("I get up on the good foot.")} else {    print("It's too funky in here.")}// Prints "It's too funky in here.

 

  

  添加新資料項目

   insert(_:)向現有的set對象添加新的資料

favoriteGenres.insert("Jazz")// favoriteGenres now contains 4 items

 

 

  刪除已有的資料項目

  remove(_:)向現有的set對象刪除已有的資料

if let removedGenre = favoriteGenres.remove("Rock") {    print("\(removedGenre)? I'm over it.")} else {    print("I never much cared for that.")}// Prints "Rock? I'm over it.

 

 

  遍曆set

  使用forin語句遍曆set

for genre in favoriteGenres {    print("\(genre)")}// Classical// Jazz// Hip hop

 

 

set無序儲存資料,使用sort()可以按到升序排序。

 

intersect(_:)創意一個包含兩set對象共有的資料的新的Set對象

exclusiveOr(_:)創意一個不包含兩set對象共有的資料的新的Set對象

union(_:)創意一個包含兩set對象所有的資料的新的Set對象

subtract(_:)創意一個只存在其中一個已有的set類型資料的新的Set對象

let oddDigits: Set = [1, 3, 5, 7, 9]let evenDigits: Set = [0, 2, 4, 6, 8]let singleDigitPrimeNumbers: Set = [2, 3, 5, 7] oddDigits.union(evenDigits).sort()// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]oddDigits.intersect(evenDigits).sort()// []oddDigits.subtract(singleDigitPrimeNumbers).sort()// [1, 9]oddDigits.exclusiveOr(singleDigitPrimeNumbers).sort()// [1, 2, 9]

 

 

 

 

==操作符比較2個set的值是否全部相同

let houseAnimals: Set = ["

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.