Swift程序 把一个数组的所有元素复制到另一个数组
在这篇文章中,我们将学习如何编写一个swift程序,将一个数组的所有元素复制到另一个数组。
- 使用
map(_:)
方法 -
使用=运算符
-
使用
append(contentsOf:)
方法
方法1:使用map(_:)方法
map(_:)方法用于返回一个数组,该数组包含在指定序列元素上映射给定闭包的结果。
语法
func map<T>(_mclosure:(Self.Element) throws - >T)rethrows [T]
这里,mclouser是一个映射闭包,它接受指定序列的元素并返回相同或不同类型的转换值。
算法
第1步 – 创建一个带有数值的数组。
第2步 – 创建另一个相同类型但为空的数组。
第3步 – 使用map(_:)函数将数组1的元素复制到数组2。
Array2 = Array1.map { $0 }
第4步 − 打印结果.
示例
使用Swift程序将一个数组中的所有元素复制到另一个数组中。
import Foundation
import Glibc
let Array1 = [11, 22, 33, 44, 55]
var Array2 = [Int]()
// Copying the element of array1 into array2
// Using map
Array2 = Array1.map { $0 }
print("Original array: ", Array1)
print("New array: ", Array2)
输出
Original array: [11, 22, 33, 44, 55]
New array: [11, 22, 33, 44, 55]
在上面的代码中,我们有两个数组,Array1有值,Array2没有值。现在,为了将Array1的元素复制到Array2,我们在map(_:)函数中传递一个闭包{$0},它将Array1从索引0到最后一个索引的所有元素复制到Array2。
方法2:使用=运算符
要将一个数组中的元素复制到另一个数组中,还可以使用赋值操作符。这个运算符将右边的操作数的值赋给左边和左边的操作数。
语法
Array2 = Array1
在这里,Array1和Array2是相同的类型,赋值操作符将Array1的元素赋值给Array2。
算法
第1步 − 创建一个包含值的数组.
第2步 − 创建另一个相同类型但为空的数组.
第3步 − 使用赋值操作符将array1中的元素复制到数组2中.
Darray = Sarray
第4步 – 打印输出。
示例
按照Swift程序,将一个数组的所有元素复制到另一个数组中
import Foundation
import Glibc
let Sarray = [10, 20, 30, 40, 50]
// Create an empty array with the same type as Sarray
var Darray = [Int]()
// Copy all the elements of Sarray to Darray
Darray = Sarray
print("Array 1:", Sarray)
print("Array 2:", Darray)
输出
Array 1: [10, 20, 30, 40, 50]
Array 2: [10, 20, 30, 40, 50]
在上面的代码中,我们有两个数组,分别名为Array1和Array2,其中Array1有值,Array2没有值。现在,为了将Array1的元素复制到Array2中,我们使用了赋值运算符。这个操作符将Array1中的所有元素分配到Array2中。
方法3:使用append(contentsOf:)方法
要把一个数组的元素复制到另一个数组,我们也可以使用append(contentOf:)方法。该方法将给定数组或序列的元素添加到新数组的末端。
语法
func append<S>(contentsOf nElement: S) where Element == s.Element, S.Sequence
这里,nElement是序列,其元素将被追加到指定的数组中。
算法
第1步 – 创建一个带有数值的数组。
第2步 – 创建另一个相同类型但为空的数组。
第3步 – 使用append(contentOf:)方法将数组1的元素复制到数组2中。
Array2.append(contentsOf: Array1)
第4步 − 打印输出.
示例
使用Swift程序将一个数组中的所有元素复制到另一个数组中。
import Foundation
import Glibc
let Array1 = ["Ox", "Cow", "Bee", "Cat", "Dog"]
// Create an empty array with the same type as array1
var Array2 = [String]()
// Copy all the elements of array1 to array2
// Using append(:) method
Array2.append(contentsOf: Array1)
print("Original array:", Array1)
print("New array:", Array2)
输出
Original array: ["Ox", "Cow", "Bee", "Cat", "Dog"]
New array: ["Ox", "Cow", "Bee", "Cat", "Dog"]
在上面的代码中,我们有两个数组,Array1有值,Array2没有值。要将Array1中的元素复制到Array2中,可以使用append(contentsOf:)方法。在这个方法中,我们将Array1作为参数contentsOf的值传递。现在,这个方法将Array1中的所有元素添加到Array2中。
总结
因此,我们可以使用map(_:)方法、=操作符和append(contentsOf:)方法将一个数组的所有元素复制到另一个数组中。因为Swift没有像Java那样提供复制数组元素的库函数。Java提供了一个用于复制数组元素的内置库函数arraycopy()。