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]() // 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 中,我们传递一个闭包 {$0} 到 map(_:) 函数中,该闭包将 Array1 中从索引 0 到最后一个索引的所有元素复制到 Array2 中。
方法 2:使用 = 运算符
要将一个数组的元素复制到另一个数组,我们还可以使用赋值运算符。此运算符将右侧操作数的值赋值给左侧操作数。
语法
Array2 = Array1
这里,Array1 和 Array2 都是相同类型,赋值运算符将 Array1 的元素赋值给 Array2。
算法
步骤 1 - 创建一个包含值的数组。
步骤 2 - 创建另一个相同类型但为空的数组。
步骤 3 - 使用赋值运算符将数组 1 的元素复制到数组 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 中。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
方法 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"] // 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() 的内置库函数来复制数组元素。