文書   >   Swift   >  String   >   Substring   >   replaceSubrange(_:with:)


汎用インスタンスメソッド


replaceSubrange(_:with:)


指定された要素の部分範囲を与えられたコレクションに置き換えます。





宣言


mutating func replaceSubrange<C, R>(_ subrange: R, with newElements: C) where C : Collection, R : RangeExpression, Self.Element == C.Element, Self.Index == R.Bound


パラメータ


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.startIndexnewElements の要素を挿入します。代わりに insert(contentsOf:at:) メソッドを呼び出すことをお勧めします。


同様に、newElements パラメータとして長さゼロのコレクションを渡すと、このメソッドは与えられた部分範囲内の要素を置き換えずに削除します。代わりに removeSubrange(_:) メソッドを呼び出すことをお勧めします。


このメソッドを呼び出すと、このコレクションで使用する全ての既存のインデックスが無効になることがあります。


複雑さ:O(n + m)。ここで、n はこのコレクションの長さ、mnewElements の長さです。このメソッドへの呼び出しが newElements の内容をコレクションに追加されるだけの場合、複雑さは O(m) です。

















トップへ(Swift 標準ライブラリ)












トップへ(Swift 標準ライブラリ)












トップへ(Swift 標準ライブラリ)












トップへ(Swift 標準ライブラリ)
目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 10.2+
  • Framework
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 議論












  • トップへ(Swift 標準ライブラリ演算子)












    トップへ(Swift 標準ライブラリ演算子)












    トップへ(Swift 標準ライブラリ演算子)












    トップへ(Swift 標準ライブラリ演算子)












    トップへ(Swift 標準ライブラリ演算子)












    トップへ(Swift 標準ライブラリ演算子)












    トップへ(Swift 標準ライブラリ演算子)