「ArrayListクラス」の版間の差分
細 (→Synchronized: cat) |
細 (ページ ArrayList クラス を ArrayListクラス へ移動: #127) |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
''' | '''ArrayListクラス'''は要素数を実行時に増減できる配列です。 | ||
== クラスの機能 == | ==クラスの機能== | ||
=== 継承するインタフェース === | ===継承するインタフェース=== | ||
* [[ | *[[IListインタフェース]] | ||
* [[ | *[[ICollectionインタフェース]] | ||
* [[ | *[[IEnumerableインタフェース]] | ||
* [[ | *[[ICloneableインタフェース]] | ||
=== プロパティ === | === プロパティ === | ||
52行目: | 52行目: | ||
ArrayListのインスタンスを構築します。 | ArrayListのインスタンスを構築します。 | ||
Sub ArrayList() | Sub ArrayList() | ||
Sub ArrayList( | Sub ArrayList(c As ICollection) | ||
Sub ArrayList(capacity As Long) | Sub ArrayList(capacity As Long) | ||
; c | ; c | ||
: 要素のコピー元となる[[ | : 要素のコピー元となる[[ICollectionインタフェース]]型のインスタンス。 | ||
; capacity | ; capacity | ||
: 予めしておくメモリの量(要素数単位) | : 予めしておくメモリの量(要素数単位) | ||
65行目: | 65行目: | ||
==== Operator [] ==== | ==== Operator [] ==== | ||
要素を参照します。 | 要素を参照します。 | ||
Const Virtual Function Operator [](i As Long) | Const Virtual Function Operator [](i As Long) As Object; i | ||
; i | |||
: 参照する要素数 | : 参照する要素数 | ||
; 戻り値 | ; 戻り値 | ||
: それに対応する要素 | : それに対応する要素 | ||
==== Operator []= ==== | ====<nowiki>Operator []=</nowiki>==== | ||
要素を設定します。 | 要素を設定します。 | ||
Virtual Sub Operator []=(i As Long, | Virtual Sub Operator []=(i As Long, x As Object) | ||
; i | ; i | ||
: 設定する要素数 | : 設定する要素数 | ||
81行目: | 80行目: | ||
==== Add ==== | ==== Add ==== | ||
末尾に要素を追加します。 | 末尾に要素を追加します。 | ||
Virtual Function Add( | Virtual Function Add(x As Object) As Long | ||
; x | ; x | ||
: 追加する要素 | : 追加する要素 | ||
87行目: | 86行目: | ||
==== AddRange ==== | ==== AddRange ==== | ||
複数要素を追加します。 | 複数要素を追加します。 | ||
Virtual Sub AddRange( | Virtual Sub AddRange(c As ICollection) | ||
; c | ; c | ||
: 追加する要素を含む[[ | : 追加する要素を含む[[ICollectionインタフェース]]のインスタンス。 | ||
cの要素全てが順にこのインスタンスへ追加されます。 | cの要素全てが順にこのインスタンスへ追加されます。 | ||
==== BinarySearch ==== | ==== BinarySearch ==== | ||
二分検索を行います。 | 二分検索を行います。 | ||
Const Virtual Function BinarySearch( | Const Virtual Function BinarySearch(x As Object) | ||
Const Virtual Function BinarySearch( | Const Virtual Function BinarySearch(x As Object, c As IComparer) As Long | ||
Const Virtual Function BinarySearch(index As Long, count As Long, | Const Virtual Function BinarySearch(index As Long, count As Long, x As Object, c As IComparer) As Long | ||
; x | ;x | ||
: | :検索する対象 | ||
; c | ;c | ||
: 検索の際要素の比較に用いられる[[ | :検索の際要素の比較に用いられる[[IComparerインタフェース]]のインスタンス | ||
; index | ;index | ||
: 開始する要素数 | :開始する要素数 | ||
; count | ;count | ||
: 検索する長さ | :検索する長さ | ||
; 戻り値 | ;戻り値 | ||
: 要素の位置 | :要素の位置 | ||
要素は予め昇順に並べられている必要があります。そのためには[[#Sort|Sortメソッド]]が利用できます。indexとcountを指定した場合、[index]から[index + count - 1]の範囲で検索されます。 | 要素は予め昇順に並べられている必要があります。そのためには[[#Sort|Sortメソッド]]が利用できます。indexとcountを指定した場合、[index]から[index + count - 1]の範囲で検索されます。 | ||
116行目: | 115行目: | ||
==== Clone() ==== | ==== Clone() ==== | ||
このインスタンスの複製を作ります。 | このインスタンスの複製を作ります。 | ||
Virtual Function Clone() As | Virtual Function Clone() As ArrayList | ||
; 戻り値 | ; 戻り値 | ||
: 複製されたArrayListのインスタンス | : 複製されたArrayListのインスタンス | ||
122行目: | 121行目: | ||
==== Contains ==== | ==== Contains ==== | ||
指定されたインスタンスに等しい要素が存在するか調べます。 | 指定されたインスタンスに等しい要素が存在するか調べます。 | ||
Virtual Function Contains( | Virtual Function Contains(x As Object) As Boolean | ||
; x | ; x | ||
: 調べるインスタンス | : 調べるインスタンス | ||
130行目: | 129行目: | ||
==== GetEnumerator ==== | ==== GetEnumerator ==== | ||
列挙子を返します。 | 列挙子を返します。 | ||
Const Virtual Function GetEnumerator() As | Const Virtual Function GetEnumerator() As IEnumerator | ||
Const Virtual Function GetEnumerator(index As Long, count As Long) As | Const Virtual Function GetEnumerator(index As Long, count As Long) As IEnumerator | ||
; index | ; index | ||
: 開始する要素数 | : 開始する要素数 | ||
137行目: | 136行目: | ||
: 列挙する長さ | : 列挙する長さ | ||
; 戻り値 | ; 戻り値 | ||
: [[ | : [[IEnumeratorインタフェース]]での列挙子。 | ||
==== GetRange ==== | ==== GetRange ==== | ||
151行目: | 150行目: | ||
==== IndexOf ==== | ==== IndexOf ==== | ||
指定されたオブジェクトに等しい要素がある最初の位置を検索します。 | 指定されたオブジェクトに等しい要素がある最初の位置を検索します。 | ||
Const Virtual Function IndexOf( | Const Virtual Function IndexOf(x As Object) As Long | ||
Const Virtual Function IndexOf( | Const Virtual Function IndexOf(x As Object, startIndex As Long) As Long | ||
Const Virtual Function IndexOf( | Const Virtual Function IndexOf(Bx As Object, startIndex As Long, count As Long) As Long | ||
; x | ; x | ||
: 検索するオブジェクト | : 検索するオブジェクト | ||
165行目: | 164行目: | ||
==== Insert ==== | ==== Insert ==== | ||
配列の途中に要素を挿入します。 | 配列の途中に要素を挿入します。 | ||
Virtual Sub Insert(index As Long, | Virtual Sub Insert(index As Long, x As Object) | ||
; index | ; index | ||
: 挿入する位置。 | : 挿入する位置。 | ||
173行目: | 172行目: | ||
==== InsertRange ==== | ==== InsertRange ==== | ||
配列の要素に複数要素を挿入します。 | 配列の要素に複数要素を挿入します。 | ||
Virtual Sub InsertRange(index As Long, | Virtual Sub InsertRange(index As Long, c As ICollection) | ||
; index | ; index | ||
: 挿入する位置。 | : 挿入する位置。 | ||
; c | ; c | ||
: 挿入するオブジェクトを含む[[ | : 挿入するオブジェクトを含む[[ICollectionインタフェース]]のインスタンス。 | ||
==== LastIndexOf ==== | ==== LastIndexOf ==== | ||
指定されたオブジェクトに等しい要素がある最後の位置を検索します。 | 指定されたオブジェクトに等しい要素がある最後の位置を検索します。 | ||
Const Virtual Function LastIndexOf( | Const Virtual Function LastIndexOf(x As Object) As Long | ||
Const Virtual Function LastIndexOf( | Const Virtual Function LastIndexOf(x As Object, startIndex As Long) As Long | ||
Const Virtual Function LastIndexOf( | Const Virtual Function LastIndexOf(x As Object, startIndex As Long, count As Long) As Long | ||
; x | ; x | ||
: 検索するオブジェクト | : 検索するオブジェクト | ||
195行目: | 194行目: | ||
==== Remove ==== | ==== Remove ==== | ||
要素を削除します。 | 要素を削除します。 | ||
Virtual Sub Remove( | Virtual Sub Remove(x As Object) | ||
; x | ; x | ||
: 削除する要素 | : 削除する要素 | ||
227行目: | 226行目: | ||
==== SetRange ==== | ==== SetRange ==== | ||
複数の要素を設定します。 | 複数の要素を設定します。 | ||
Virtual Sub SetRange(index As Long, | Virtual Sub SetRange(index As Long, c As ICollection) | ||
; index | ; index | ||
: | : 開始する要素数。 | ||
; c | ; c | ||
: 設定する要素を含んだ[[ | : 設定する要素を含んだ[[ICollectionインタフェース]]のインスタンス。 | ||
==== Sort ==== | ==== Sort ==== | ||
整列させます。 | 整列させます。 | ||
Virtual Sub Sort() | Virtual Sub Sort() | ||
Virtual Sub Sort( | Virtual Sub Sort(c As IComparer) | ||
Virtual Sub Sort(index As Long, count As Long, | Virtual Sub Sort(index As Long, count As Long, c As IComparer) | ||
; c | ; c | ||
: 検索の際要素の比較に用いられる[[ | : 検索の際要素の比較に用いられる[[IComparerインタフェース]]のオブジェクト | ||
; index | ; index | ||
: 開始する要素数 | : 開始する要素数 | ||
251行目: | 250行目: | ||
=== 静的公開メソッド === | === 静的公開メソッド === | ||
==== Adapter ==== | ==== Adapter ==== | ||
[[ | [[IListインタフェース]]へのアダプタを提供します。 | ||
Static Function Adapter( | Static Function Adapter(l As IList) As ArrayList | ||
; l | ; l | ||
: [[ | : [[IListインタフェース]]のインスタンス | ||
; 戻り値 | ; 戻り値 | ||
: 引数のIListへのラッパ | : 引数のIListへのラッパ | ||
261行目: | 260行目: | ||
==== FixedSize ==== | ==== FixedSize ==== | ||
要素固定にするラッパを提供します。 | 要素固定にするラッパを提供します。 | ||
Static Function FixedSize( | Static Function FixedSize(l As ArrayList) As ArrayList | ||
Static Function FixedSize( | Static Function FixedSize(l As IList) As IList | ||
; l | ; l | ||
: 基となるリスト(ArrayList クラスもしくは[[ | : 基となるリスト(ArrayList クラスもしくは[[IListインタフェース]]) | ||
; 戻り値 | ; 戻り値 | ||
: 要素数固定のラッパ | : 要素数固定のラッパ | ||
271行目: | 270行目: | ||
==== Repeat ==== | ==== Repeat ==== | ||
全ての要素が同じ値であるインスタンスを作ります。 | 全ての要素が同じ値であるインスタンスを作ります。 | ||
Static Function Repeat( | Static Function Repeat(x As Object, count As Long) As ArrayList | ||
; x | ; x | ||
: 各要素 | : 各要素 | ||
281行目: | 280行目: | ||
==== ReadOnly ==== | ==== ReadOnly ==== | ||
読み取り専用にするラッパを提供します。 | 読み取り専用にするラッパを提供します。 | ||
Static Function ReadOnly( | Static Function ReadOnly(l As ArrayList) As ArrayList | ||
Static Function ReadOnly( | Static Function ReadOnly(l As IList) As IList | ||
; l | ; l | ||
: | : 基となるリスト(ArrayListクラスもしくは[[IListインタフェース]]) | ||
; 戻り値 | ; 戻り値 | ||
: 読み取り専用のラッパ | : 読み取り専用のラッパ | ||
291行目: | 290行目: | ||
==== Synchronized ==== | ==== Synchronized ==== | ||
同期アクセスを行うようにするラッパを提供します。 | 同期アクセスを行うようにするラッパを提供します。 | ||
Static Function Synchronized( | Static Function Synchronized(l As ArrayList) As ArrayList | ||
Static Function Synchronized( | Static Function Synchronized(l As IList) As IList | ||
; l | ; l | ||
: | : 基となるリスト(ArrayListクラスもしくは[[IListインタフェース]]) | ||
; 戻り値 | ; 戻り値 | ||
: 同期アクセスを行うラッパ | : 同期アクセスを行うラッパ | ||
このメソッドが返すインスタンスは[[#IsSynchronized|IsSynchronizedプロパティ]]でTrueを返します。 | このメソッドが返すインスタンスは[[#IsSynchronized|IsSynchronizedプロパティ]]でTrueを返します。 | ||
[[Category: | [[Category:System.Collections名前空間]] |
2007年8月5日 (日) 11:40時点における最新版
ArrayListクラスは要素数を実行時に増減できる配列です。
クラスの機能
継承するインタフェース
プロパティ
Capacity
内部的に保持するメモリの量を取得・設定できます。
Const Virtual Function Capacity() As Long Virtual Sub Capacity(c As Long)
- 引数・戻り値
- メモリの量を要素数単位で渡され、もしくは返されます。
新たな値を設定すると、それに合わせてメモリの量が増減します。ただしCount以下に減らすことは出来ません。
Count
現在の要素数を取得します。
Const Virtual Function Count() As Long
- 戻り値
- 要素数を返します。
IsFixedSize
このインスタンスを通して要素数の変更が不可能であるかどうかを返します。
Const Virtual Function IsFixedSize() As Boolean
- 戻り値
- 要素数の変更が不可能であればTrue、可能であればFalseが返ります。
IsFixedSize = Trueであっても既存の要素の値を変更することは可能です。また、たとえIsFixedSize = Falseであっても、インスタンスがConst修飾されている場合、要素数の変更は不可能です。
同期されたインスタンスを作るにはReadOnlyメソッドを使用します。
IsReadOnly
このインスタンスが読み取り専用(このインスタンスを通じての書き換え操作が不可能)であるかどうかを返します。
Const Virtual Function IsReadOnly() As Boolean
- 戻り値
- 読み取り専用であればTrue、そうでなければFalseが返ります。
たとえIsReadOnly = Falseであっても、インスタンスがConst修飾されている場合、全ての書き換え操作は不可能です。
同期されたインスタンスを作るにはReadOnlyメソッドを使用します。
IsReadOnly
このインスタンスに対する操作が同期されている(スレッド安全になっている)かどうかを返します。
Const Virtual Function IsSynchronized() As Boolean
- 戻り値
- 同期されていればTrue、されていなければFalseが返ります。
同期されたインスタンスを作るにはSynchronizedメソッドを使用します。
メソッド
コンストラクタ
ArrayListのインスタンスを構築します。
Sub ArrayList() Sub ArrayList(c As ICollection) Sub ArrayList(capacity As Long)
- c
- 要素のコピー元となるICollectionインタフェース型のインスタンス。
- capacity
- 予めしておくメモリの量(要素数単位)
デストラクタ
ArrayListのインスタンスを破棄します。
Virtual Sub ~ArrayList()
Operator []
要素を参照します。
Const Virtual Function Operator [](i As Long) As Object; i
- 参照する要素数
- 戻り値
- それに対応する要素
Operator []=
要素を設定します。
Virtual Sub Operator []=(i As Long, x As Object)
- i
- 設定する要素数
- x
- 設定する要素
Add
末尾に要素を追加します。
Virtual Function Add(x As Object) As Long
- x
- 追加する要素
AddRange
複数要素を追加します。
Virtual Sub AddRange(c As ICollection)
- c
- 追加する要素を含むICollectionインタフェースのインスタンス。
cの要素全てが順にこのインスタンスへ追加されます。
BinarySearch
二分検索を行います。
Const Virtual Function BinarySearch(x As Object) Const Virtual Function BinarySearch(x As Object, c As IComparer) As Long Const Virtual Function BinarySearch(index As Long, count As Long, x As Object, c As IComparer) As Long
- x
- 検索する対象
- c
- 検索の際要素の比較に用いられるIComparerインタフェースのインスタンス
- index
- 開始する要素数
- count
- 検索する長さ
- 戻り値
- 要素の位置
要素は予め昇順に並べられている必要があります。そのためにはSortメソッドが利用できます。indexとcountを指定した場合、[index]から[index + count - 1]の範囲で検索されます。
Clear()
全ての要素を削除します。
Virtual Sub Clear()
Clearを呼ぶとCountの値は0になります。
Clone()
このインスタンスの複製を作ります。
Virtual Function Clone() As ArrayList
- 戻り値
- 複製されたArrayListのインスタンス
Contains
指定されたインスタンスに等しい要素が存在するか調べます。
Virtual Function Contains(x As Object) As Boolean
- x
- 調べるインスタンス
- 戻り値
- 等しい要素があればTrue、なければFalse
GetEnumerator
列挙子を返します。
Const Virtual Function GetEnumerator() As IEnumerator Const Virtual Function GetEnumerator(index As Long, count As Long) As IEnumerator
- index
- 開始する要素数
- count
- 列挙する長さ
- 戻り値
- IEnumeratorインタフェースでの列挙子。
GetRange
部分的な範囲を指すArrayListを作ります。
Virtual Function GetRange(index As Long, count As Long) As ArrayList
- index
- 開始する要素数
- count
- 範囲の長さ
- 戻り値
- 基のArrayListの一部分を指すArrayList。
IndexOf
指定されたオブジェクトに等しい要素がある最初の位置を検索します。
Const Virtual Function IndexOf(x As Object) As Long Const Virtual Function IndexOf(x As Object, startIndex As Long) As Long Const Virtual Function IndexOf(Bx As Object, startIndex As Long, count As Long) As Long
- x
- 検索するオブジェクト
- index
- 開始する要素数
- count
- 検索する長さ
- 戻り値
- オブジェクトの存在する位置。見付からなければ-1。
Insert
配列の途中に要素を挿入します。
Virtual Sub Insert(index As Long, x As Object)
- index
- 挿入する位置。
- x
- 挿入するオブジェクト
InsertRange
配列の要素に複数要素を挿入します。
Virtual Sub InsertRange(index As Long, c As ICollection)
- index
- 挿入する位置。
- c
- 挿入するオブジェクトを含むICollectionインタフェースのインスタンス。
LastIndexOf
指定されたオブジェクトに等しい要素がある最後の位置を検索します。
Const Virtual Function LastIndexOf(x As Object) As Long Const Virtual Function LastIndexOf(x As Object, startIndex As Long) As Long Const Virtual Function LastIndexOf(x As Object, startIndex As Long, count As Long) As Long
- x
- 検索するオブジェクト
- index
- 開始する要素数
- count
- 検索する長さ
- 戻り値
- オブジェクトの存在する位置。見付からなければ-1。
Remove
要素を削除します。
Virtual Sub Remove(x As Object)
- x
- 削除する要素
要素を順に調べ、最初にxと等しかった要素が削除されます。削除した位置より後の要素は前へ詰められます。
RemoveAt
指定された位置の要素を削除します。
Virtual Sub RemoveAt(i As Long)
- i
- 削除する要素の位置
削除した位置より後の要素は前へ詰められます。
RemoveRange
複数要素の削除を行います。
Virtual Sub RemoveRange(index As Long, count As Long)
- index
- 開始する要素数
- count
- 削除する長さ
countで指定された数だけ要素が削除されます(Countが減ります)。削除した位置より後の要素は前へ詰められます。
Reverse
内容を反転します。
Virtual Sub Reverse() Virtual Sub Reverse(startIndex As Long, count As Long)
- index
- 開始する要素数
- count
- 反転する長さ
SetRange
複数の要素を設定します。
Virtual Sub SetRange(index As Long, c As ICollection)
- index
- 開始する要素数。
- c
- 設定する要素を含んだICollectionインタフェースのインスタンス。
Sort
整列させます。
Virtual Sub Sort() Virtual Sub Sort(c As IComparer) Virtual Sub Sort(index As Long, count As Long, c As IComparer)
- c
- 検索の際要素の比較に用いられるIComparerインタフェースのオブジェクト
- index
- 開始する要素数
- count
- 整列する長さ
TrimToSize
確保するメモリの量を実際に使用している量まで減らします。
Virtual Sub TrimToSize()
静的公開メソッド
Adapter
IListインタフェースへのアダプタを提供します。
Static Function Adapter(l As IList) As ArrayList
- l
- IListインタフェースのインスタンス
- 戻り値
- 引数のIListへのラッパ
このメソッドを使用するとIListのインスタンスをArrayListとして扱うことができるようになります。
FixedSize
要素固定にするラッパを提供します。
Static Function FixedSize(l As ArrayList) As ArrayList Static Function FixedSize(l As IList) As IList
- l
- 基となるリスト(ArrayList クラスもしくはIListインタフェース)
- 戻り値
- 要素数固定のラッパ
このメソッドが返すインスタンスはIsFixedSizeプロパティでTrueを返します。
Repeat
全ての要素が同じ値であるインスタンスを作ります。
Static Function Repeat(x As Object, count As Long) As ArrayList
- x
- 各要素
- count
- 要素数
- 戻り値
- ArrayListインスタンス
ReadOnly
読み取り専用にするラッパを提供します。
Static Function ReadOnly(l As ArrayList) As ArrayList Static Function ReadOnly(l As IList) As IList
- l
- 基となるリスト(ArrayListクラスもしくはIListインタフェース)
- 戻り値
- 読み取り専用のラッパ
このメソッドが返すインスタンスはIsReadOnlyプロパティでTrueを返します。
Synchronized
同期アクセスを行うようにするラッパを提供します。
Static Function Synchronized(l As ArrayList) As ArrayList Static Function Synchronized(l As IList) As IList
- l
- 基となるリスト(ArrayListクラスもしくはIListインタフェース)
- 戻り値
- 同期アクセスを行うラッパ
このメソッドが返すインスタンスはIsSynchronizedプロパティでTrueを返します。