文書   >   Swift   >   Array   >   replaceSubrange(_:with:)
汎用インスタンスメソッド
replaceSubrange(_:with:)
要素の範囲を指定したコレクション内の要素で置き換えます。
宣言
パラメータ
subrange | 置き換えるべき配列の部分範囲。部分範囲の開始と終了は、配列の有効なインデックスでなければなりません。 |
newElements | 配列に追加すべき新しい要素。 |
議論
このメソッドには、指定された範囲の要素を配列から削除し、新しい要素を同じ場所に挿入する効果があります。新しい要素の数は、削除される要素の数と一致する必要はありません。
この例では、整数の配列の中央にある 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]"
subrange パラメータとして長さゼロの範囲を渡すと、このメソッドは subrange.startIndex に newElements の要素を挿入します。代わりに insert(contentsOf:at:) メソッドを呼び出すことをお勧めします。
同様に、newElements パラメータとして長さゼロのコレクションを渡すと、このメソッドは与えられた部分範囲内の要素を置き換えないで削除します。代わりに removeSubrange(_:) メソッドを呼び出すことをお勧めします。
複雑さ:O(n+m)、ここで n は配列の長さであり、m は newElements の長さです。このメソッドの呼び出しで newElements の内容が単純に配列に付け加えられる場合、このメソッドは append(contentsOf:) と同等です。
関連
プロトコルから
RangeReplaceableCollection
以下も見よ
要素の追加
配列の末尾に新しい要素を付け加えます。
指定された位置に新しい要素を挿入します。
func insert<C>(contentsOf: C, at: Int)
シーケンスの要素をコレクションの指定された位置に挿入します。
func replaceSubrange<C, R>(R, with: C)
指定された要素の部分範囲を与えられたコレクションで置き換えます。
指定された数の要素を格納するのに十分なスペースを確保します。
トップへ
トップへ
トップへ
トップへ
トップへ