Generic Instance Method 総称体インスタンスメソッド

replaceSubrange(_:with:)

Replaces a range of elements with the elements in the specified collection. ある範囲の要素を指定されたコレクションの要素で置き換えます。

Declaration 宣言

mutating func replaceSubrange<C>(_ subrange: Range<Int>, with newElements: C) where Element == C.Element, C : Collection

Parameters パラメータ

subrange

The subrange of the array to replace. The start and end of a subrange must be valid indices of the array. 置き換えられることになる配列の下位範囲。下位範囲の始まりと終わりは、配列の有効なインデックスでなければなりません。

newElements

The new elements to add to the array. 配列に加えられることになる新しい要素ら。

Discussion 解説

This method has the effect of removing the specified range of elements from the array and inserting the new elements at the same location. The number of new elements need not match the number of elements being removed. このメソッドは、指定された範囲の要素を配列から取り除き、そして新しい要素を同じ場所に挿入する効果を持ちます。新しい要素の数は、削除される要素の数と一致する必要はありません。

In this example, three elements in the middle of an array of integers are replaced by the five elements of a Repeated<Int> instance. この例では、整数からなる配列の真ん中の3つの要素が、Repeated<Int>インスタンスの5つの要素によって置き換えられます。


 var nums = [10, 20, 30, 40, 50]
 nums.replaceSubrange(1...3, with: repeatElement(1, count: 5))
 print(nums)
 // Prints "[10, 1, 1, 1, 1, 1, 50]"

If you pass a zero-length range as the subrange parameter, this method inserts the elements of newElements at subrange.startIndex. Calling the insert(contentsOf:at:) method instead is preferred. あなたがゼロ長範囲をsubrangeパラメータとして渡すならば、このメソッドはnewElementsの要素をsubrange.startIndexで挿入します。insert(contentsOf:at:)メソッドを代わりに呼ぶことが好まれます。

Likewise, if you pass a zero-length collection as the newElements parameter, this method removes the elements in the given subrange without replacement. Calling the removeSubrange(_:) method instead is preferred. 同様に、あなたがゼロ長コレクションをnewElementsパラメータとして渡すならば、このメソッドは与えられた下位範囲の中の要素を置き換えることなく削除します。removeSubrange(_:)メソッドを代わりに呼ぶことが好まれます。

Complexity: O(n + m), where n is length of the array and m is the length of newElements. If the call to this method simply appends the contents of newElements to the array, this method is equivalent to append(contentsOf:). 計算量:O(n + m)、ここでnは配列の長さです、そしてmnewElementsの長さです。このメソッドへの呼び出しが単にnewElementsの内容を配列に追加するだけならば、このメソッドはappend(contentsOf:)と等しいです。

Relationships 関係

From Protocol 由来プロトコル

See Also 参照

Adding Elements 要素の追加