Protocol

MutableCollection

A collection that supports subscript assignment. 添え字を使った代入をサポートするコレクション。

Declaration 宣言

protocol MutableCollection where Self.SubSequence : MutableCollection

Overview 概要

Collections that conform to MutableCollection gain the ability to change the value of their elements. This example shows how you can modify one of the names in an array of students. MutableCollectionに準拠するコレクションは、それらの要素の値を変更する能力を獲得します。この例が示すのは、どうやってあなたが学生らの配列の中の名前の1つを修正できるかです。


var students = ["Ben", "Ivy", "Jordell", "Maxime"]
if let i = students.firstIndex(of: "Maxime") {
    students[i] = "Max"
}
print(students)
// Prints "["Ben", "Ivy", "Jordell", "Max"]"

In addition to changing the value of an individual element, you can also change the values of a slice of elements in a mutable collection. For example, you can sort part of a mutable collection by calling the mutable sort() method on a subscripted subsequence. Here’s an example that sorts the first half of an array of integers: ある一個の要素の値を変えることに加えて、あなたはまた可変コレクションの要素のスライスに属するいくらかの値を変更することもできます。例えば、あなたはある可変コレクションの一部分をソートすることが可変sort()メソッドを添え字で指定した下位シーケンス上で行えます。ここにある例があります、それは整数からなるある配列の前半分をソートします:


var numbers = [15, 40, 10, 30, 60, 25, 5, 100]
numbers[0..<4].sort()
print(numbers)
// Prints "[10, 15, 30, 40, 60, 25, 5, 100]"

The MutableCollection protocol allows changing the values of a collection’s elements but not the length of the collection itself. For operations that require adding or removing elements, see the RangeReplaceableCollection protocol instead. MutableCollectionプロトコルは、コレクションのもつ要素の値の変更を可能にします、しかしコレクション自体の長さはそうではありません。要素の追加や削除を要求する演算に対しては、RangeReplaceableCollectionプロトコルを代わりに見てください。

Conforming to the MutableCollection Protocol MutableCollectionプロトコルに準拠する

To add conformance to the MutableCollection protocol to your own custom collection, upgrade your type’s subscript to support both read and write access. MutableCollectionプロトコルへの準拠をあなた独自のあつらえのコレクションに加えるには、あなたの型のもつ添え字を更新して読み書きアクセス両方をサポートするようにしてください。

A value stored into a subscript of a MutableCollection instance must subsequently be accessible at that same position. That is, for a mutable collection instance a, index i, and value x, the two sets of assignments in the following code sample must be equivalent: MutableCollectionインスタンスのある添え字へと格納される値は、その後にその同じ位置でアクセス可能でなければなりません。すなわち、ある可変コレクションインスタンスa、インデックスi、そして値xに対して、以下のコード見本における2組の代入は同等なものでなければなりません:


a[i] = x
let y = a[i]


// Must be equivalent to:
a[i] = x
let y = x

Topics 話題

Associated Types さまざまな関連型

Instance Methods インスタンスメソッド

Subscripts 添え字

See Also 参照

Collection Mutability コレクションの可変性