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

更新於: 2023年1月9日

4K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告