Swift 程序将一个数组的所有元素复制到另一个数组
在本文中,我们将学习如何编写一个 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]()
// 将 array1 的元素复制到 array2
// 使用 map
Array2 = Array1.map { $0 }
print("原始数组: ", Array1)
print("新数组: ", Array2)
输出
原始数组:[11, 22, 33, 44, 55] 新数组:[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]
// 创建一个与 Sarray 类型相同的空数组
var Darray = [Int]()
// 将 Sarray 的所有元素复制到 Darray
Darray = Sarray
print("数组 1:", Sarray)
print("数组 2:", Darray)
输出
数组 1:[10, 20, 30, 40, 50] 数组 2:[10, 20, 30, 40, 50]
在上面的代码中,我们有两个数组,一个是包含值的数组 Array1,另一个是没有值的数组 Array2。现在,要将 Array1 的元素复制到 Array2 中,我们使用赋值运算符。该运算符将 Array1 的所有元素赋值给 Array2。
方法 3:使用 append(contentsOf:) 方法
要将一个数组的元素复制到另一个数组,我们也可以使用 append(contentsOf:) 方法。此方法将给定数组或序列的元素添加到新数组的末尾。
算法
func append<S>(contentsOf nElement: S) where Element == s.Element, S.Sequence
其中,nElement 是要将其元素附加到指定数组的序列。
算法
步骤 1 − 创建一个包含值的数组。
步骤 2 − 创建另一个相同类型但为空的数组。
步骤 3 − 使用 append(contentsOf:) 方法将数组 1 的元素复制到数组 2 中。
Array2.append(contentsOf: Array1)
步骤 4 −打印输出。
示例
以下 Swift 程序将一个数组的所有元素复制到另一个数组
import Foundation
import Glibc
let Array1 = ["Ox", "Cow", "Bee", "Cat", "Dog"]
// 创建一个与 array1 类型相同的空数组
var Array2 = [String]()
// 将 array1 的所有元素复制到 array2
// 使用 append(:) 方法
Array2.append(contentsOf: Array1)
print("原始数组:", Array1)
print("新数组:", Array2)
输出
原始数组:["Ox", "Cow", "Bee", "Cat", "Dog"] 新数组:["Ox", "Cow", "Bee", "Cat", "Dog"]
在上面的代码中,我们有两个名为 Array1 的数组,一个包含值,另一个名为 Array2,不包含值。为了将 Array1 的元素复制到 Array2,我们使用 append(contentsOf:) 方法。在此方法中,我们将 Array1 作为 contentsOf 参数的值传递。现在,此方法将 Array1 的所有元素附加到 Array2 中。
结论
以上就是如何使用 map(_:) 方法、= 运算符和 append(contentsOf:) 方法将一个数组的所有元素复制到另一个数组的方法。这是因为 Swift 不像 Java 那样提供用于复制数组元素的库函数。Java 有一个内置的库函数 arraycopy() 来复制数组元素。