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 中。
方法 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() 的內建庫函式來複制陣列元素。