Swift初探02 陣列 集合 元組 字典

2022-09-17 19:00:14 字數 3064 閱讀 3537

每一門語言基本都會有這些資料結構,swift也不例外,而作為一門現代的語言,swift提供了很多的現成的方法給我們選擇。

// 三種宣告方式

var a = [1, 2, 3] // 型別推斷

var b:[string] = ["hello", "world"]

var c:array= [1.3, 2.2] // 結構體

var e = array(repeating: -1, count: 3) // 通過初始化器生成乙個初始值為-1,長度為3的陣列 e = [-1, -1, -1]

let f = [1, 2, 4] // 作為乙個常量,不可修改

當定義陣列為any型別時,可以讓其中元素為不同型別的變數。var a:[any] = [1, 2, "ssr"]

如何定義空陣列?

var d = [int]() // 通過初始化器,定義可變的空陣列

檢視單個元素,swift陣列和其他語言一樣:

print(a[2])

a[0] = 1

遍歷所有元素:

var array = ["a", 2, "3"]

直接遍歷:

for item in array 

"a"2

"3"

根據索引進行遍歷:

for index in 0..控制範圍進行遍歷:

for item in array[1...2]

2"3"

增:

array + ["hello", "world"]直接利用加號;

array.insert("aaa", at: 1)在a[1]的位置插入"aaa"。

刪:

array.remove(at: 0)刪除索引0的位置

改:

array.replacesubrange((0...1), with: ["mac", "windows", "lalala"])將陣列a[0]到a[1]替換為mac與windows和lalala。

查:

array.contains("hello")array中有元素為contains的值時,返回true;

set集合是無序且不重複的資料集合。

var a:set = [1, 2, 3]

var b:set= ["hello", "world"]

var c:set= [1, 2, 3]

var d:set = ["a", 1] // 報錯

1. 不重複的集合

var a:set = [1, 1]

print(d) // [1],swift會自動把多的刪掉

2. 無序的集合

var a:set = [1, 2, 3]

print(a) // 每次輸出都不同

// [1, 2, 3]

// [3 ,1 ,2]

var a:set = [1, 2, 3]

a.count // a的長度

a.insert(5) // 插入5(集合是無序的,所以不用說明位置)

a.remove(1) // 刪除1

a.contains(2) // true

元組型別由 n個任意型別的資料組成(n >= 0),組成元組型別的資料可以稱為「元素」。

這兩種方式最為常見。

還可以用:

來定義元組。

元組可以直接賦值:var b = a,並且元組並不是引用型別,a和b獨立擁有各自的記憶體,元組是值型別的資料,他的複製並不是淺複製

var a = (1, 1.5, "hello", true)

print(a.0) // 1

print(a.3) // "hello"

如果在定義時定義了元素名,我們就可以使用:print(a.name1)來訪問對應的資料。

如果使用了var (age, name) = (20, "xuhangyu")定義元組,可以用print(age)來訪問資料,但如果是普通的定義,必須使用print(a.name1)

var a = [1: "asdasd", 2: "123"]

var b:dictionary= ["a":"123", "b":"lalal"]

var c = [1: 1, 2: 2 ]

如何定義空字典?

var a = [int:string]() // 和定義空陣列方法類似

var a = ["a": "123", "b": "12333333"]

print(a["a"]) // optional("123")

print(a["a"] ?? "undefined")

var a = ["a": "123", "b": "12333333"]

a.updatevalue("dilidili", forkey: "a") // 有該key時修改

a.updatevalue("dilidili", forkey: "c") // 沒有該key時新增

a.removevalue(forkey: "a") // 刪除

Swift 陣列 集合

宣告 初始化 vararray003 string vararray0031 string varnewarray double count 4,repeatedvalue 1.1 建立特定大小和內容的陣列 或者array count 4,repeatedvalue 1.1 varintarr1 i...

swift學習02 元組tuple

元組tuple lettuple errostring 錯誤資訊 errortype 404 vartuplevar errorstring 錯誤資訊 errortype 404 vartuplevar 錯誤資訊 404 tuple 可以把多個值組合成乙個復合值。tuple 可以是任意型別,不用相同...

Python 陣列 元組 集合 字典

python 陣列 列表 python 元組 python 集合 python字典 1 元組是不可變的,而列表 字典是可變的。元組是不可變物件,物件一旦生成,它的值將不能更改 列表是可變物件,物件生成後,可以對其元素進行更改 新增 刪除 清空 排序等操作。2 元組通常是由不同的資料,而列表是相同的資...