swift-集合类型01-数组的基本操作
来源:互联网 发布:数据库模型图是什么 编辑:程序博客网 时间:2024/06/05 04:29
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
/**
数组是一系列相同类型的数据集合,存储相同类型的可重复的有序的多个数据。
Swift 数组存储特定类型的值。不同于Objective - C的 NSArray和 NSMutableArray类:
它们可以存储任何类型的对象,而且不提供对象的本质任何信息。
在Swift中,数组存储的数据值的类型必须是明确的,通过显式类型注释,或通过类型推断来保证,
而且没必要非是 class类型。
例如:如果创建一个 Int类型的数组,就不能向其中加入不是Int类型的任何数据。
Swift 数组是类型安全的,我们必须清楚数组中存储的类型
Swift 数组语法形式:Array<SomeType>,或者简写为 SomeType[]。
其中 SomeType表示数组存储的数据类型。
两种形式在功能上是一样的,但是推荐使用 SomeType[]种写法,在本文中都会使用这种形式来
*/
let a :Array<Int> = [1,2,3,1]
print(a)
var shopList :Array<String> = ["eggs","milk","potato"]
print(shopList)
/*
shopList 数组被声明为变量(var关键字)而不是常量(let关键字)
所以 shopList可能会被加入其他数据
由于 Swift的类型推断机制,我们不必把数组的类型定义的很清楚。
所以 shoplist的构造也可以这样写
var shopList = ["Eggs", "Milk"]
因为所有值都是相同的类型(String),Swift可以推断出 shoplist是 String类型数组
*/
let people : Array<String> = ["male","female"]
print(people)
//可以使用数组的只读属性 count来获取数组中的元素的数量
print("people count ==\(people.count)")
//使用 isEmpty属性(返回Bool值)检查 count 属性的值是否为 0
if people.isEmpty {
print("people is nil")
} else {
print("people is not nil")
}
//使用 append方法在数组尾部增加新的元素:
shopList.append("apple")
print(shopList)
//直接使用下标语法来获取数组中的元素
//第一个元素在数组中的索引值是 0而不是 1 。
//Swift 中的数组索引总是从零开始,与OC一样
let first = shopList[0]
let last = shopList.last
print("first is\(first) and last is\(last)")
/**
通过下标改变一系列数据值,即使新数据的数量和原有数据的数量是不一样的
不能使用下标语法在数组尾部添加新元素。
如果我们试着用这种方法对越界的索引数据进行访问或者设置新值,会引发一个运行时错误。
可以通过对索引值和数组的 count进行比较来检查某个索引是否有效。
除了当 count = 0时(说明这是个空数组),最大的索引值一直是 count - 1
*/
//MARK: [1...3]= ["bananas","pich"]
// 意思是从数组的第二个元素和第四个元素之间有 ["bananas","pich"]来代替
//第二个数组不能超过数组的个数否则会报错
shopList [1...3] = ["bananas","pich"]
print(shopList)
//["eggs", "bananas", "pich"]
//使用数组的 insert (atIndex:)方法在 atIndex 之前添加元素:
shopList.insert("chicken", atIndex:0)
print(shopList)
//使用 removeAtIndex方法来移除数组中的某一项。
//这个方法把数组在索引位置存储的元素移除,并返回这个被移除的元素
//元素移除后数组中的空出项会被自动填补,所以现在索引值为2的元素的值是pich
let shopList2 = shopList.removeAtIndex(2)
print(shopList2)
print(shopList)
/**
如果只想把数组中的最后一项移除,使用 removeLast方法而不是 removeAtIndex方法来避免获取数组的count属性。
removeLast 也会返回被移除的数据项
*/
//使用 for-in循环遍历数组中所有元素
for string in shopList {
print(string)
}
//如果同时需要每个元素的值和索引值,可以使用属性 enumerate来进行数组遍历。
//enumerate 返回一个由元素索引值和数据值组成的键值对。
//我们可以把这个键值对分解成临时常量或者变量来进行遍历
for (index,value) in shopList.enumerate() {
print("string\(index + 1) == \(value)")
}
//使用构造器创建一个特定数据类型的空数组
//someInts 被设置为变量类型是 Int 的数组
let array2 = [String]()
print("array2 ==\(array2)")
let someInt:Array<Int> = []
print("someInt has\(someInt.count) items")
var array1 = [1,2,3]
//这个还可以清空数组
array1 = []
print("array1 has\(array1.count) items")
//数组还提供了创建特定大小并且元素被同时初始化的构造器。
//把数组的元素数量 count和初始值 repeatedValue传入数组即可
let three1 = Array(count:3, repeatedValue: 1.1)
print(three1)
let three2 = Array(count:3, repeatedValue: 2.1)
print(three2)
/// 使用加法操作符 +来合并两种相同类型的数组
let six1 = three1 + three2
print(six1)
}
}
- swift-集合类型01-数组的基本操作
- swift-集合类型02-字典的基本操作
- Swift对数组的常用基本操作
- Swift的基础,操作符,字符串和集合类型
- 15.4 Swift深入分析集合类型的拷贝操作
- Swift 基本运算符和集合类型
- Swift集合类型(数组和字典)
- Swift集合类型(数组和字典)
- swift-集合类型03-字典和数组
- Swift学习记录 -- 7.数组的基本操作
- java基本类型、数组、集合对应的包装类详解
- Python集合(set)类型的基本操作
- Swift入门教程:基本类型01
- Java_集合操作_避开基本类型数组转换列表陷阱
- Swift 数组的常用操作
- swift集合类型——数组和字典
- Swift 学习之集合的基本用法
- 迭代映射、集合、数组、基本类型数组元素和jar的打包
- python 解析html标签中的属性
- 关于xcode7 ios9的一些变化
- 安卓开发:WebView下载文件
- NDK开发简单流程
- JAVA操作Excel文件
- swift-集合类型01-数组的基本操作
- spring是怎么知道哪个方法或者类上有@requestMapping这个注解
- SMC计算节点重刷系统步骤
- hashMap源码分析
- iOS小明开发笔记(十二) (Quartz2D简单使用一)
- 经典队列存取
- 文字自适应label的frame
- 未备份etc下ssh目录之设置节点间无密码访问步骤
- Dsoframer注册方法