IList インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。
[Android.Runtime.Register("java/util/List", "", "Java.Util.IListInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface IList : IDisposable, Java.Interop.IJavaPeerable, Java.Util.ISequencedCollection
[<Android.Runtime.Register("java/util/List", "", "Java.Util.IListInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type IList = interface
interface ICollection
interface IIterable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ISequencedCollection
- 派生
- 属性
- 実装
注釈
順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。 ユーザーは、整数インデックス (リスト内の位置) で要素にアクセスし、リスト内の要素を検索できます。
セットとは異なり、リストは通常、重複する要素を許可します。 より正式には、リストは通常、e1するように要素のペアe2およびe1.equals(e2)を許可し、通常、null 要素を許可する場合は複数の null 要素を許可します。 ユーザーが挿入しようとしたときにランタイム例外をスローすることで、重複を禁止するリストを誰かが実装することを望む可能性は考えられませんが、この使用はまれであると予想されます。
List インターフェイスは、Collection、iterator、add、remove、およびequalsメソッドのコントラクトに、hashCode インターフェイスで指定されているもの以外の追加の規定を配置します。 便宜上、他の継承メソッドの宣言もここに含まれています。
List インターフェイスには、リスト要素への位置指定 (インデックス付き) アクセスのための 4 つのメソッドが用意されています。 リスト (Java 配列など) は 0 から始まります。 これらの操作は、一部の実装 ( LinkedList クラスなど) のインデックス値に比例して時間内に実行される場合があることに注意してください。 したがって、呼び出し元が実装を知らない場合は、通常、リスト内の要素を反復処理することをお勧めします。
List インターフェイスは、ListIteratorと呼ばれる特別な反復子を提供します。これにより、要素の挿入と置換が可能になり、Iterator インターフェイスが提供する通常の操作に加えて双方向アクセスが可能になります。 リスト内の指定した位置から始まるリスト反復子を取得するメソッドが用意されています。
List インターフェイスには、指定したオブジェクトを検索する 2 つのメソッドが用意されています。 パフォーマンスの観点から、これらのメソッドは慎重に使用する必要があります。 多くの実装では、コストのかかる線形検索が実行されます。
List インターフェイスには、リスト内の任意のポイントで複数の要素を効率的に挿入および削除するための 2 つのメソッドが用意されています。
注: リスト自体を要素として含めることもできますが、 equals メソッドと hashCode メソッドは、このようなリストで明確に定義されなくなりました。
一部のリスト実装には、含まれる要素に制限があります。 たとえば、一部の実装では null 要素が禁止され、一部の実装では要素の型に制限があります。 不適格な要素を追加しようとすると、通常は NullPointerException または ClassCastException、チェックされていない例外がスローされます。 不適格な要素の存在を照会しようとすると、例外がスローされるか、単に false が返される可能性があります。一部の実装は以前の動作を示し、一部は後者を示します。 より一般的には、不適格な要素に対する操作を試みると、リストに不適格な要素が挿入されない場合、実装のオプションで例外がスローされたり、成功したりする可能性があります。 このような例外は、このインターフェイスの仕様では "省略可能" としてマークされます。
<h2>"変更不可">変更不可リスト</h2>
List#of(Object...) List.ofおよびList#copyOf List.copyOf静的ファクトリ メソッドは、変更できないリストを作成する便利な方法を提供します。 これらのメソッドによって作成される List インスタンスには、次の特性があります。
<ul><li><>変更できません</i>。 要素を追加、削除、または置き換えることはできません。 List でミューテーター メソッドを呼び出すと、常に UnsupportedOperationException がスローされます。 ただし、含まれている要素自体が変更可能な場合は、リストの内容が変わる可能性があります。
<li>要素 null 禁止します。
null要素を使用して作成しようとすると、NullPointerExceptionになります。
<li>すべての要素がシリアル化可能な場合はシリアル化可能です。
<li>リスト内の要素の順序は、指定された引数の順序、または指定された配列内の要素の順序と同じです。
<li>リストとその #subList(int, int) subList ビューは、 RandomAccess インターフェイスを実装します。
<li>値に基づいています。 プログラマは、#equals(Object) と等しいインスタンスを交換可能として扱い、同期に使用しないでください。または、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 呼び出し元は、返されるインスタンスの ID に関する想定を行う必要はありません。 ファクトリは、新しいインスタンスを自由に作成したり、既存のインスタンスを再利用したりできます。
<li>Y は、 Serialized Form ページで指定されたとおりにシリアル化されます。
</ul>
1.2 で追加されました。
このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。
プロパティ
| 名前 | 説明 |
|---|---|
| First |
追加する |
| Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
| IsEmpty |
この |
| JniIdentityHashCode |
ラップされたインスタンスの |
| JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
| JniObjectReferenceControlBlock |
順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。 (継承元 IJavaPeerable) |
| JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
| Last |
追加する |
| PeerReference |
ラップされた Java オブジェクト インスタンスの JniObjectReference を返します。 (継承元 IJavaPeerable) |
メソッド
| 名前 | 説明 |
|---|---|
| Add(Int32, Object) |
指定した要素を、このリスト内の指定した位置に挿入します (省略可能な操作)。 |
| Add(Object) |
指定した要素をこのリストの末尾に追加します (省略可能な操作)。 |
| AddAll(ICollection) |
指定したコレクション内のすべての要素を、指定したコレクションの反復子 (省略可能な操作) によって返される順序で、このリストの末尾に追加します。 |
| AddAll(Int32, ICollection) |
指定した位置に、指定したコレクション内のすべての要素をこのリストに挿入します (省略可能な操作)。 |
| AddFirst(Object) |
このコレクションの最初の要素として要素を追加します (省略可能な操作)。 (継承元 ISequencedCollection) |
| AddLast(Object) |
このコレクションの最後の要素として要素を追加します (省略可能な操作)。 (継承元 ISequencedCollection) |
| Clear() |
このリストからすべての要素を削除します (省略可能な操作)。 |
| Contains(Object) |
このリストに指定した要素が含まれている場合は、 |
| ContainsAll(ICollection) |
このリストに指定したコレクションのすべての要素が含まれている場合は、 |
| CopyOf(ICollection) |
指定されたコレクションの要素を反復処理の順序で含む変更不可能なリストを返します。 |
| Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
| DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 |
| Equals(Object) |
指定したオブジェクトとこのリストを比較して等しいかどうかを確認します。 |
| Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
| ForEach(IConsumer) |
すべての要素が処理されるか、アクションが例外をスローするまで、 |
| Get(Int32) |
このリスト内の指定した位置にある要素を返します。 |
| GetFirst() |
このコレクションの最初の要素を取得します。 (継承元 ISequencedCollection) |
| GetHashCode() |
このリストのハッシュ コード値を返します。 |
| GetLast() |
このコレクションの最後の要素を取得します。 (継承元 ISequencedCollection) |
| IndexOf(Object) |
このリスト内の指定した要素の最初の出現位置のインデックスを返します。このリストに要素が含まれていない場合は -1 を返します。 |
| Iterator() |
このリスト内の要素に対する反復子を適切な順序で返します。 |
| LastIndexOf(Object) |
このリスト内の指定した要素の最後の出現位置のインデックスを返します。このリストに要素が含まれていない場合は -1 を返します。 |
| ListIterator() |
このリスト内の要素に対するリスト反復子を返します (適切な順序)。 |
| ListIterator(Int32) |
リスト内の指定した位置から始まる、(適切な順序で) このリスト内の要素に対するリスト反復子を返します。 |
| Of() |
0 個の要素を含む変更不可能なリストを返します。 |
| Of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object) |
10 個の要素を含む変更不可能なリストを返します。 |
| Of(Object, Object, Object, Object, Object, Object, Object, Object, Object) |
9 つの要素を含む変更不可能なリストを返します。 |
| Of(Object, Object, Object, Object, Object, Object, Object, Object) |
8 つの要素を含む変更不可能なリストを返します。 |
| Of(Object, Object, Object, Object, Object, Object, Object) |
7 つの要素を含む変更不可能なリストを返します。 |
| Of(Object, Object, Object, Object, Object, Object) |
6 つの要素を含む変更不可能なリストを返します。 |
| Of(Object, Object, Object, Object, Object) |
5 つの要素を含む変更不可能なリストを返します。 |
| Of(Object, Object, Object, Object) |
4 つの要素を含む変更不可能なリストを返します。 |
| Of(Object, Object, Object) |
3 つの要素を含む変更できないリストを返します。 |
| Of(Object, Object) |
2 つの要素を含む変更不可能なリストを返します。 |
| Of(Object) |
1 つの要素を含む変更不可能なリストを返します。 |
| Of(Object[]) |
任意の数の要素を含む変更不可能なリストを返します。 |
| Remove(Int32) |
このリスト内の指定した位置にある要素を削除します (省略可能な操作)。 |
| Remove(Object) |
指定した要素が存在する場合は、このリストから最初に出現する要素を削除します (省略可能な操作)。 |
| RemoveAll(ICollection) |
このリストから、指定したコレクションに含まれるすべての要素を削除します (省略可能な操作)。 |
| RemoveFirst() |
このコレクションの最初の要素を削除して返します (省略可能な操作)。 (継承元 ISequencedCollection) |
| RemoveIf(IPredicate) |
指定された述語を満たすこのコレクションのすべての要素を削除します。 (継承元 ICollection) |
| RemoveLast() |
このコレクションの最後の要素を削除して返します (省略可能な操作)。 (継承元 ISequencedCollection) |
| ReplaceAll(IUnaryOperator) |
このリストの各要素を、その要素に演算子を適用した結果に置き換えます。 |
| RetainAll(ICollection) |
指定したコレクションに含まれるこのリスト内の要素のみを保持します (省略可能な操作)。 |
| Reversed() |
このコレクションの逆順ビューを返します。 (継承元 ISequencedCollection) |
| Set(Int32, Object) |
このリスト内の指定した位置にある要素を、指定した要素に置き換えます (省略可能な操作)。 |
| SetJniIdentityHashCode(Int32) |
|
| SetJniManagedPeerState(JniManagedPeerStates) |
順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。 (継承元 IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
|
| Size() |
このリスト内の要素の数を返します。 |
| Sort(IComparator) |
指定した |
| Spliterator() |
この |
| SubList(Int32, Int32) |
指定した |
| ToArray() |
このリスト内のすべての要素を適切な順序で (最初から最後の要素まで) 含む配列を返します。 |
| ToArray(IIntFunction) |
指定された |
| ToArray(Object[]) |
このリスト内のすべての要素を適切な順序で (最初から最後の要素まで) 含む配列を返します。返される配列のランタイム型は、指定された配列のランタイム型です。 |
| UnregisterFromRuntime() |
ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IIterable.Spliterator() |
このリスト内の要素に対して |
| ISequencedCollection.AddFirst(Object) |
追加する |
| ISequencedCollection.AddLast(Object) |
追加する |
| ISequencedCollection.RemoveFirst() |
追加する |
| ISequencedCollection.RemoveLast() |
追加する |
| ISequencedCollection.Reversed() |
順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。 |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。 |
| ToEnumerable(IIterable) |
順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。 |
| ToEnumerable<T>(IIterable) |
順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|