IList インターフェイス

定義

順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。

[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 インターフェイスは、Collectioniteratoraddremove、および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 で追加されました。

java.util.Listの Java ドキュメント。

このページの一部は、Androidオープンソースプロジェクトによって作成および共有された作業に基づく変更でありCreative Commons 2.5属性ライセンスに記載されている条件に従って使用されます。

プロパティ

名前 説明
First

追加する

Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
IsEmpty

この List に要素が含まれているかどうかを返します。

JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
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)

このリストに指定した要素が含まれている場合は、 true を返します。

ContainsAll(ICollection)

このリストに指定したコレクションのすべての要素が含まれている場合は、 true を返します。

CopyOf(ICollection)

指定されたコレクションの要素を反復処理の順序で含む変更不可能なリストを返します。

Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Equals(Object)

指定したオブジェクトとこのリストを比較して等しいかどうかを確認します。

Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
ForEach(IConsumer)

すべての要素が処理されるか、アクションが例外をスローするまで、 Iterable の各要素に対して指定されたアクションを実行します。

(継承元 IIterable)
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)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
Size()

このリスト内の要素の数を返します。

Sort(IComparator)

指定した Comparatorによって誘導された順序に従って、このリストを並べ替えます。

Spliterator()

このSpliteratorで説明されている要素に対してIterableを作成します。

(継承元 IIterable)
SubList(Int32, Int32)

指定した fromIndex (包括)、および toIndex (排他) の間の、このリストの一部のビューを返します。

ToArray()

このリスト内のすべての要素を適切な順序で (最初から最後の要素まで) 含む配列を返します。

ToArray(IIntFunction)

指定された generator 関数を使用して、返された配列を割り当てる、このコレクション内のすべての要素を含む配列を返します。

(継承元 ICollection)
ToArray(Object[])

このリスト内のすべての要素を適切な順序で (最初から最後の要素まで) 含む配列を返します。返される配列のランタイム型は、指定された配列のランタイム型です。

UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

明示的なインターフェイスの実装

名前 説明
IIterable.Spliterator()

このリスト内の要素に対して Spliterator を作成します。

ISequencedCollection.AddFirst(Object)

追加する

ISequencedCollection.AddLast(Object)

追加する

ISequencedCollection.RemoveFirst()

追加する

ISequencedCollection.RemoveLast()

追加する

ISequencedCollection.Reversed()

順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。

ToEnumerable(IIterable)

順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。

ToEnumerable<T>(IIterable)

順序付けられたコレクション。ユーザーはリスト内の各要素が挿入される場所を正確に制御できます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象