swift 初见-5集合类型

// Playground - noun: a place where people can play

import UIKit

var str = "Hello, playground"
// swift的集合类型只有数组和字典
// 数组中只能存储相同类型的数据(可以是基本类型,也可以是类对象)

// 申明方法  [String] Array<String>

// 一旦隐是声明后,他的类型就确定了,不能在存储其他类型的数据了
var array=["a","b"]
var array1:[String]=["a","b"]
var array2:Array<String>=["a","b"]

array[0]="aaa"
array
var array4=[Int]()
var string=String()
var array5=Array<String>()
// 这样不会报错,但是没有申明具体的类型,它默认的会是OC中得NSArray类型的数组,所以这样定义的数组已经失去了它的意义了,没法做太多操作
// var array6=[]
//array6.append(3)    //error: ‘NSArray‘ does not have a member named ‘append‘
// 清空数组
array1=[]  // 清空后并不能改变它能存储的数据类型
array1.append("ccc")

array1=[String]()
array1=Array<String>()
// 创建并初始化
var array6=[Int](count: 10, repeatedValue: 0)
array6.append(100)
array6

// 合并数组
var array7=[1,2,3]
var array8=array6 + array7
array8
array8 += [4,5]
println(array8)
array8.removeAtIndex(14)
// insert ,romove 方法和其他的差不多
array8.removeLast()

// 注意index都要在索引值内部

// 批量替换,注意是三个点号
array8[2...4] = [2,2,2]
array8

array8[2...4]=[100]   // 不需要元素个数与修改的个数相匹配
array8
//array8[2...4]=0       // 这样写是错误的

for index in 0...array.count
{
    println(index)
}

for item in array
{
    println(item)
}

// 使用enumerate函数
for (index,item) in enumerate(array)
{
    println("\(index)-\(item)")
}

// dictionarys  字典是无序的
var dictionarys=[1:"a",2:"b"]  // 隐式声明
// 存储的键和值可以任意类型
// 一个字典只能存储固定的一种键和值的数据类型搭配 (!!特别重要)
// Dictionary<Int,String>      // 显示声明
// 注意分割符是 , 号而不是: 号
 var dict1:Dictionary<Int,String>=[1:"bbb"]
  println(dict1)

// 这里分割是 : 号 并不是 , 号
var dict2:[Int:String]=[1:"aaa"]
// var dict3:[Int , String]=[1:"aaa"]  // 错误
println(dict2)

// 清空字典
var dict3=Dictionary<Int,String>()
var dict4=[Int:String]()
// 简便方法清空字典
dict2=[:]   // 同样清空并不能改变一个字典可以存储的数据类型

dictionarys.count
dictionarys.isEmpty
dictionarys[1]  //可选型数据,
// "hahha"+dictionarys[1] //错误写法
"hahha"+dictionarys[1]!   // 正确
// key是不可重复的
// 插入新值
dictionarys[3]="c"  // 插入无对应的新key和值
println(dictionarys)
// 修改
dictionarys[3]="3c"
var oldValue=dictionarys.updateValue("3ccc", forKey: 3)

// 删除
dictionarys[3]=nil
println(dictionarys)
 dictionarys.removeValueForKey(2)  //有返回值的,返回被删除的值

// 遍历字典
 for (key,value) in dictionarys
 {
    println("\(key) : \(value)")
 }

 dictionarys.keys
 dictionarys.values

 for key in dictionarys.keys
 {
    println(key)
 }
 for value in dictionarys.values
 {
    println(value)
 }

 // let 型数组或者字典定义后是不可以有任何更改操作的
时间: 2024-10-16 17:34:28

swift 初见-5集合类型的相关文章

swift 初见-6集合类型与Cocoa Touch混编

// Playground - noun: a place where people can play import UIKit var str = "Hello, playground" // color与=号之间必须有个空格 let colors = [ "Air Force Blue":(red:93,green:138,blue:168), "Bittersweet":(red:254,green:111,blue:94), "

IOS开发语言Swift入门连载---集合类型

IOS开发语言Swift入门连载-集合类型 Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储相同类型的数据.字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对). Swift语言里的数组和字典中存储的数据值类型必须明确. 这意味着我们不能把不正确的数据类型插入其中. 同时这也说明我们完全可以对获取出的值类型非常自信. Swift 对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚,也让我们在开发中可以早早地找到任何的类型不匹配错

Swift中的集合类型

一.引子: 在2014年10月TIOBE编程语言排行榜中,Swift位居第18位,从2014WWDC发布会首次公布至今不到半年时间,swift一直受到编程人员的追捧,其热衷程度并不亚于当红巨星Taylor Swift.相信在不远的将来,swift能够平稳发展,并逐步取代Objective-C. 二.swift的集合类型 下面回归主题.作为一名iOS开发者,我们已经非常熟悉诸如NSArray,NSDictionary,NSSet等常见集合类型,以及它们的可变同类NSMutableArray,NSM

[Swift]Day03:集合类型

集合类型 数组 重复值的初始化 除了普通的初始化方法,我们可以通过 init(count: Int, repeatedValue: T) 来初始化一个数组并填充上重复的值: // [0.0,0.0,0.0] var threeDoubles = [Double](count:3,repeatedValue:0.0) 带索引值的遍历 我们可以用 for in 遍历数组,如果想要 index 的话,可以用 enumerate<Seq : SequenceType>(base: Seq) : let

Swift 学习- 05 -- 集合类型

// 集合类型 // swift 提供 Arrays , Sets 和 Dictionaries 三种基本的集合类型用来存储数据 , 数组(Arrays) 是有序数据的集, 集合(Sets)是无序无重复数据的集, 字典(Dictionaries) 是无序的键值对的集 // swift 语言中的 Arrays, Sets 和 Dictionaries 中存储的数据值类型必须明确, 这意味着我们不能把不正确的数据类型插入其中, 同事这也说明我们完全可以取回值的类型非常自信 // 集合的可变性 //

Swift 笔记 (四) —— 集合类型

集合类型 Swift 提供了两种集合类型, Array, Dictionary Array与Dictionary 都须要存同样类型的数据  //实际測试的时候发现能够混杂类型,以下有样例 Array 是有序的, Dictionary 是无序的 Dictionary须要一组无唯一的索引用于查找,也就是key Array 原型: Array<SomeType>, SomeType指的是要放在Array里的数据类型 var myArray: String[] = ["var1",

Swift 集合类型(Collection Type) 之 字典(dictionary)(官方文档翻译及总结)

Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组和字典中存储的数据值类型必须明确.这意味着我们不能把不正确的数据类型插入其中.Swift对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚.也让我们在开发中可以早早的找到任何的类型不匹配错误.如果你用变量(var)创建的集合,这些集合就是可变的(增删改).如果用常理创建的,这些集合是不能被操作的. 注意: 如果集合的元素是不变的,那就将集合声明为常量.这样Swift编译器能对你创建的集合做性能优化. 1. 数组(arr

Welcome to Swift (苹果官方Swift文档初译与注解二十一)---140~147页(第三章--集合类型)

第三章 Collection Types (集合类型) 在Swift中,提供了两种集合类型用来存储一组值:数组和字典.数组有序的存储相同类型的值;字典存储无序的相同类型的值.字典可以通过唯一的标识(就是所说的键)来查询和访问. 在Swift中,数组和字典总是要清晰的标明他们存储数据的类型.这就意味着不可以将错误的类型插入到数组或字典中.同时也意味着你是明确了解你要遍历的数组或字典里面数据的类 型.在Swift中,集合要显式的声明类型来保证在开发中都会明确的知道它能处理的数据类型. 注意点: 在S

Swift的基础,操作符,字符串和集合类型

这篇文章主要讲解苹果Swift官方指南的第二章前四节的要点内容,如果想看完整的英文文档可以去苹果开发者页面下载. Basic 声明常量let 声明变量var 注释依旧使用"//" "/**/", 注意这里"/**/"在Swift可以嵌套使用 表达式结尾不再有分号 整数 你可以声明为Int或者UInt,他们本身适应不同平台(64位, 32位),类似于NSInteger,NSUInteger 也可以直接声明为指定字节数的Int,如: Int8, In