假设我有一个数组,例如:
var myArray = ["Steve", "Bill", "Linus", "Bret"]
然后,我想将一个元素推入/追加到数组的末尾,以获得:
["Steve", "Bill", "Linus", "Bret", "Tim"]
我应该用什么方法呢?
如果我想在数组的前面添加一个元素呢?是否存在常数时不变?
假设我有一个数组,例如:
var myArray = ["Steve", "Bill", "Linus", "Bret"]
然后,我想将一个元素推入/追加到数组的末尾,以获得:
["Steve", "Bill", "Linus", "Bret", "Tim"]
我应该用什么方法呢?
如果我想在数组的前面添加一个元素呢?是否存在常数时不变?
当前回答
例子:students = ["Ben", "Ivy", "Jordell"]
1)添加单个元素到数组的末尾,使用append(_:)
学生。阿彭
2)通过将另一个数组或任何类型的序列传递给append(contentsOf:)方法,同时添加多个元素
学生。追加(内容:["Shakia", "William"])
3)对单个元素使用insert(_:at:)方法在数组中间添加新元素
学生。插入(“Liam”,在:2)
4)使用insert(contentsOf:at:)从另一个集合或数组文字插入多个元素
学生。insert(['Tim',' Tim' at: 2)
其他回答
例子:students = ["Ben", "Ivy", "Jordell"]
1)添加单个元素到数组的末尾,使用append(_:)
学生。阿彭
2)通过将另一个数组或任何类型的序列传递给append(contentsOf:)方法,同时添加多个元素
学生。追加(内容:["Shakia", "William"])
3)对单个元素使用insert(_:at:)方法在数组中间添加新元素
学生。插入(“Liam”,在:2)
4)使用insert(contentsOf:at:)从另一个集合或数组文字插入多个元素
学生。insert(['Tim',' Tim' at: 2)
使用Deque而不是Array
Deque相对于Array的主要优点是它在两端支持高效的插入和删除。 https://swift.org/blog/swift-collections/
var names:Deque = ["Steve", "Bill", "Linus", "Bret"]
在名字后面加上“Tim”
names.append("Tim")
在名字的开头加上“Tim”
names.prepend("John")
删除names的第一个元素
names.popFirst() // "John"
删除names的最后一个元素
names.popLast() // "Tim"
你可以用
Myarray.insert("Data #\(index)", atIndex: index)
要在后面加,使用+=运算符:
myArray += ["Craig"]
myArray += ["Jony", "Eddy"]
该操作符通常等价于append(contentsOf:)方法。(在非常老的Swift版本中,可以附加单个元素,而不仅仅是相同元素类型的其他集合。)
还有insert(_:at:)用于在任意下标处插入。
例如,如果您想要一个方便的函数用于开始插入,那么可以将它添加到带有扩展的Array类中。
在Swift 4.1和Xcode 9.4.1中
我们基本上可以用两种方式向数组中添加对象
let stringOne = "One"
let strigTwo = "Two"
let stringThree = "Three"
var array:[String] = []//If your array is string type
1型)
//To append elements at the end
array.append(stringOne)
array.append(stringThree)
2型)
//To add elements at specific index
array.insert(strigTwo, at: 1)
如果你想添加两个数组
var array1 = [1,2,3,4,5]
let array2 = [6,7,8,9]
let array3 = array1+array2
print(array3)
array1.append(contentsOf: array2)
print(array1)