swift - Array这一篇就够了

923 阅读2分钟

创建Array

初始化方式一

var array: Array<Any> = Array<Any>()

输出内容:空

初始化方式二

var array: Array = Array([1,2,3])

输出内容:****[1, 2, 3]

初始化方式三

var array: Array = Array(repeating: 1, count: 3)

输出内容:****[1, 1, 1]

初始化方式四

分配一个元素数为10的空间,并且在闭包里面的buffer缓冲区里面进行初始化

同时闭包里的initializedCount参数,是数组中已初始化元素的计数,从零开始。可重新设置数组的长度。此外,initializedCount参数是不能大于unsafeUninitializedCapacity参数的值的。也就是说类似下面那样,你的 initializedCount <= 10 才行。

var array: Array = Array<Int>(unsafeUninitializedCapacity: 10, initializingWith:{buffer, initializedCount in
    for number in 0 ..< 8 {
        buffer[number] = number
    }
    initializedCount = 5
})

输出内容:[[0, 1, 2, 3, 4]

检查Array

判断数组是否为空

var isEmpty: Bool

获取数组的元素数量

var count: Int

获取数组的可操作元素的数目

var capacity: Int

例子

var array: Array = Array([1,2,3])
array.append(4)
print(array.capacity)

输出内容:6

获取元素

获取指定位置的元素(下标获取)

var array: Array = Array([1,2,3])print(array[0])

获取集合的第一个元素

var first: Element?

获取集合的最后一个元素

var last: Element?

获取集合某个范围内的元素

var array: Array = Array([1,2,3])

//例子一
let array1 = array[0 ..< array.endIndex]

//例子二
let array1 = array[0...]

输出array1内容:****[1, 2, 3]

获取数组里的任意一个元素

//方式一
func randomElement() -> Element?

//例子
let names = ["Zoey", "Chloe", "Amani", "Amaia"]
let randomName = names.randomElement()!
// randomName == "Amani"

删除元素

删除某个下标的元素

func remove(at: Int) -> Element

var array: Array = Array([1,1,2,3])

array.remove(at: 1)

输出内容:****[1, 2, 3]

删除第一个元素

func removeFirst() -> Element

var array: Array = Array([1,1,2,3])

array.removeFirst()

输出内容:****[1, 2, 3]

删除前n个数

func removeFirst(Int)

var array: Array = Array([1,1,2,3])

array.removeFirst(2)

输出内容:****[ 2, 3]

删除最后一个元素

func removeLast() -> Element

var array: Array = Array([1,1,2,3])

array.removeLast()

输出内容:****[1, 1, 2]

删除后n个元数

func removeLast(Int)

var array: Array = Array([1,1,2,3])

array.removeLast(2)

输出内容:****[1, 1]

删除某个下标范围的元素

func removeSubrange(Range)

var array: Array = Array([1,1,2,3])

array.removeSubrange(0 ..< 2)

输出内容:****[2, 3]

给定的规则去删除数组里的元素

func removeAll(where: (Element) -> Bool)

var array: Array = Array([1,1,2,3])

array.removeAll(where: {value in
    return value == 1
})

输出内容:****[2, 3]

删除所有元素

func removeAll(keepingCapacity: Bool)

var array: Array = Array([1,1,2,3])

array.removeAll(keepingCapacity: true)

输出内容:****[]

删除并返回最后一个元素

func popLast() -> Element?

var array: Array = Array([1,1,2,3])

let value = array.popLast()

输出value内容:3

**输出数组内容:[1, 1, 2]
**

查找元素

未带完续..............