每天学一点Swift----集合(一)

1. Swift的集合是一种特别有用的工具。Swift提供了数组和字典两种集合类型来存储集合数据。数组用于按顺序存储相同类型的数据,字典则采用key-value的形式存储数据。访问时数组通过下标(索引)来访问,访问字典时通过每个元素的key来访问。

一.数组:

1.声明数组:

(1)使用泛型语法:

var myArr : Array;

var myInt : Array

(2)使用简化语法:

var names : [String]

var nums : [Int]

2.创建数组

(1)使用Array结构体提供的构造器:init()和init(count:, repeatedValue:)

myArr = Array()//使用空的构造器创建一个空的数组

names = Array(count: 10, repeatedValue: "abcdef")

(2)使用简化语法创建数组:

var num : [Int] = [1, 2, 3, 4];

var myStr : [String] = ["abc", "123", "def", "x", "y"]

var values = ["A", "a", "B", "b"]

二.使用数组

1.使用数组:同Java中一样,通过索引(下标)来访问数组元素,索引是从0开始。

2.数组的可变性:******和Java中不同,Java中的数组一旦声明后长度是不可变的,而在Swift中,数组的是否可变取决于该变量的类型:使用var声明的数组是可变数组,可变数组的元素、长度都可以改变。使用let声明的数组是不可变数组。

3.对于可变数组的操作:---以数组var names = ["abc", "def"]为例

(1)添加元素:names.append("hahaha")

(2)插入元素:names.insert("1212", atIndex: 1) ---插入的下标不能大于数组的长度减1.

(3)删除元素:删除元素的方法有多种:

a)names.removeAtIndex(1):删除指定索引处的元素,会返回删除的元素

b)names.removeLast():删除数组的最后一个原属,会返回删除的元素

c)names.removeAll():清空数组

d)names.remove(keepCapacity: false):清空数组,并指定是否保留数组底层的数据缓冲。默认为false

4.数组和范围:Swift中还支持在方括号中使用Range,这样既可以一次性地获取多个数组元素,也可以一次性对多个元素进行赋值。举个栗子:

var languages = ["Swift", "OC", "PHP", "Java", "Python", "C++"]

//获取索引为1-4的元素

let str = language[1..<4]

//将索引为2-4的元素替换

languages[2...4] = ["abc", "123"] ----****这样也可以变相地将下标等于4的元素删除了

//将索引为1-2的元素替换

languages[1...2] = ["abc", "999", "666", "def"]----**变相地增加了两个元素

5.多维数组:

(1)声明:var a : [[Int]]

var str : Array>>

你可能感兴趣的:(每天学一点Swift----集合(一))