IList Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine sortierte Auflistung, bei der der Benutzer genau steuern kann, wo in der Liste jedes Element eingefügt wird.
[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
- Abgeleitet
- Attribute
- Implementiert
Hinweise
Eine sortierte Auflistung, bei der der Benutzer genau steuern kann, wo in der Liste jedes Element eingefügt wird. Der Benutzer kann auf Elemente über seinen ganzzahligen Index (Position in der Liste) zugreifen und nach Elementen in der Liste suchen.
Im Gegensatz zu Sätzen lassen Listen in der Regel doppelte Elemente zu. Formaler lassen Listen in der Regel Paare von Elementen e1 zu und e2e1.equals(e2)erlauben in der Regel mehrere NULL-Elemente, wenn sie überhaupt NULL-Elemente zulassen. Es ist nicht unvorstellbar, dass jemand eine Liste implementieren möchte, die Duplikate verbietet, indem Laufzeit-Ausnahmen ausgelöst werden, wenn der Benutzer versucht, sie einzufügen, aber wir erwarten, dass diese Verwendung selten ist.
Die List Schnittstelle platziert zusätzliche Bestimmungen, die über diejenigen hinausgehen, die in der Collection Schnittstelle angegeben sind, in den Verträgen der iterator, add, , remove, equalsund hashCode Methoden. Deklarationen für andere geerbte Methoden sind hier ebenfalls zur Vereinfachung enthalten.
Die List Schnittstelle bietet vier Methoden für positionsbezogenen (indizierten) Zugriff auf Listenelemente. Listen (wie Java Arrays) basieren auf Null. Beachten Sie, dass diese Vorgänge zeitlich proportional zum Indexwert für einige Implementierungen (z. B. die LinkedList Klasse) ausgeführt werden können. Daher ist das Durchlaufen der Elemente in einer Liste in der Regel der Indizierung durch sie vorzuziehen, wenn der Aufrufer die Implementierung nicht kennt.
Die List Schnittstelle bietet einen speziellen Iterator, der als "Iterator ListIterator" bezeichnet wird, der das Einfügen und Ersetzen von Elementen sowie den bidirektionalen Zugriff neben den normalen Vorgängen ermöglicht, die die Iterator Schnittstelle bereitstellt. Eine Methode wird bereitgestellt, um einen Listen iterator abzurufen, der an einer angegebenen Position in der Liste beginnt.
Die List Schnittstelle stellt zwei Methoden zum Suchen nach einem angegebenen Objekt bereit. Aus Leistungsgründen sollten diese Methoden vorsichtig verwendet werden. In vielen Implementierungen führen sie kostspielige lineare Suchvorgänge durch.
Die List Schnittstelle stellt zwei Methoden bereit, um mehrere Elemente an einem beliebigen Punkt in der Liste effizient einzufügen und zu entfernen.
Hinweis: Zwar ist es zulässig, dass Listen sich selbst als Elemente enthalten, doch wird äußerste Vorsicht empfohlen: Die equals Methoden hashCode und Methoden sind in einer solchen Liste nicht mehr gut definiert.
Einige Listenimplementierungen haben Einschränkungen für die Elemente, die sie enthalten können. Einige Implementierungen verbieten z. B. NULL-Elemente, und einige haben Einschränkungen für die Typen ihrer Elemente. Wenn Sie versuchen, ein nicht berechtigtes Element hinzuzufügen, wird eine deaktivierte Ausnahme ausgelöst, in der Regel NullPointerException oder ClassCastException. Wenn Sie versuchen, das Vorhandensein eines nicht zulässigen Elements abzufragen, wird möglicherweise eine Ausnahme ausgelöst, oder sie gibt einfach "false" zurück. einige Implementierungen zeigen das frühere Verhalten und einige zeigen letztere. Im Allgemeinen kann der Versuch eines Vorgangs für ein nicht berechtigtes Element, dessen Abschluss nicht dazu führen würde, dass ein nicht berechtigtes Element in die Liste eingefügt wird, eine Ausnahme auslösen, oder es kann erfolgreich sein, wenn die Implementierung möglich ist. Solche Ausnahmen werden in der Spezifikation für diese Schnittstelle als "optional" gekennzeichnet.
<h2>"unmodifiable">Unmodifiable Lists</h2>
Die List#of(Object...) List.of und List#copyOf List.copyOf statischen Factorymethoden bieten eine bequeme Möglichkeit zum Erstellen nicht veränderbarer Listen. Die List von diesen Methoden erstellten Instanzen weisen die folgenden Merkmale auf:
<ul><li>Sie sind <i>unmodififiable</i>. Elemente können nicht hinzugefügt, entfernt oder ersetzt werden. Das Aufrufen einer Mutatormethode für die Liste führt UnsupportedOperationException immer dazu, dass sie ausgelöst wird. Wenn die enthaltenen Elemente jedoch selbst änderbar sind, kann dies dazu führen, dass sich der Inhalt der Liste ändert.
<li>Sie verbieten null Elemente. Versuche, sie mit null Elementen zu erstellen, führen zu NullPointerException.
<li>Sie sind serialisierbar, wenn alle Elemente serialisierbar sind.
<li>Die Reihenfolge der Elemente in der Liste entspricht der Reihenfolge der bereitgestellten Argumente oder der Elemente im angegebenen Array.
<li>Die Listen und deren #subList(int, int) subList Ansichten implementieren die RandomAccess Schnittstelle.
<li>Sie sind wertbasiert. Programmierer sollten Instanzen behandeln, die #equals(Object) gleich austauschbar sind und diese nicht für die Synchronisierung verwenden sollten, oder unvorhersehbares Verhalten auftreten kann. In einer zukünftigen Version kann die Synchronisierung z. B. fehlschlagen. Aufrufer sollten keine Annahmen über die Identität der zurückgegebenen Instanzen treffen. Fabriken können neue Instanzen erstellen oder vorhandene wiederverwenden.
<li>Sie werden wie auf der Serialisierten Formularseite serialisiert .
</ul>
In 1.2 hinzugefügt.
Java Dokumentation für java.util.List.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Eigenschaften
| Name | Beschreibung |
|---|---|
| First |
Soll hinzugefügt werden |
| Handle |
Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab. (Geerbt von IJavaObject) |
| IsEmpty |
Gibt zurück, ob dies |
| JniIdentityHashCode |
Gibt den Wert |
| JniManagedPeerState |
Status des verwalteten Peers. (Geerbt von IJavaPeerable) |
| JniObjectReferenceControlBlock |
Eine sortierte Auflistung, bei der der Benutzer genau steuern kann, wo in der Liste jedes Element eingefügt wird. (Geerbt von IJavaPeerable) |
| JniPeerMembers |
Mitgliedszugriff und Aufrufunterstützung. (Geerbt von IJavaPeerable) |
| Last |
Soll hinzugefügt werden |
| PeerReference |
Gibt eine JniObjectReference der umbrochenen Java Objektinstanz zurück. (Geerbt von IJavaPeerable) |
Methoden
| Name | Beschreibung |
|---|---|
| Add(Int32, Object) |
Fügt das angegebene Element an der angegebenen Position in dieser Liste (optionaler Vorgang) ein. |
| Add(Object) |
Fügt das angegebene Element am Ende dieser Liste an (optionaler Vorgang). |
| AddAll(ICollection) |
Fügt alle Elemente in der angegebenen Auflistung an das Ende dieser Liste an, in der Reihenfolge, in der sie vom Iterator der angegebenen Auflistung (optionaler Vorgang) zurückgegeben werden. |
| AddAll(Int32, ICollection) |
Fügt alle Elemente in der angegebenen Auflistung an der angegebenen Position (optionaler Vorgang) in diese Liste ein. |
| AddFirst(Object) |
Fügt ein Element als erstes Element dieser Auflistung hinzu (optionaler Vorgang). (Geerbt von ISequencedCollection) |
| AddLast(Object) |
Fügt ein Element als letztes Element dieser Auflistung hinzu (optionaler Vorgang). (Geerbt von ISequencedCollection) |
| Clear() |
Entfernt alle Elemente aus dieser Liste (optionaler Vorgang). |
| Contains(Object) |
Gibt zurück |
| ContainsAll(ICollection) |
Gibt zurück |
| CopyOf(ICollection) |
Gibt eine nicht veränderbare Liste zurück, die die Elemente der angegebenen Auflistung enthält, in der Iterationsreihenfolge. |
| Disposed() |
Wird aufgerufen, wenn die Instanz verworfen wurde. (Geerbt von IJavaPeerable) |
| DisposeUnlessReferenced() |
Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen |
| Equals(Object) |
Vergleicht das angegebene Objekt mit dieser Liste für die Gleichheit. |
| Finalized() |
Wird aufgerufen, wenn die Instanz abgeschlossen wurde. (Geerbt von IJavaPeerable) |
| ForEach(IConsumer) |
Führt die angegebene Aktion für jedes Element der |
| Get(Int32) |
Gibt das Element an der angegebenen Position in dieser Liste zurück. |
| GetFirst() |
Ruft das erste Element dieser Auflistung ab. (Geerbt von ISequencedCollection) |
| GetHashCode() |
Gibt den Hashcodewert für diese Liste zurück. |
| GetLast() |
Ruft das letzte Element dieser Auflistung ab. (Geerbt von ISequencedCollection) |
| IndexOf(Object) |
Gibt den Index des ersten Vorkommens des angegebenen Elements in dieser Liste zurück oder -1, wenn diese Liste das Element nicht enthält. |
| Iterator() |
Gibt einen Iterator über die Elemente in dieser Liste in der richtigen Reihenfolge zurück. |
| LastIndexOf(Object) |
Gibt den Index des letzten Vorkommens des angegebenen Elements in dieser Liste zurück oder -1, wenn diese Liste das Element nicht enthält. |
| ListIterator() |
Gibt einen Listen iterator über die Elemente in dieser Liste (in der richtigen Reihenfolge) zurück. |
| ListIterator(Int32) |
Gibt einen Listen-Iterator über die Elemente in dieser Liste (in der richtigen Reihenfolge) zurück, beginnend mit der angegebenen Position in der Liste. |
| Of() |
Gibt eine nicht veränderbare Liste zurück, die Nullelemente enthält. |
| Of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die zehn Elemente enthält. |
| Of(Object, Object, Object, Object, Object, Object, Object, Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die neun Elemente enthält. |
| Of(Object, Object, Object, Object, Object, Object, Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die acht Elemente enthält. |
| Of(Object, Object, Object, Object, Object, Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die sieben Elemente enthält. |
| Of(Object, Object, Object, Object, Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die sechs Elemente enthält. |
| Of(Object, Object, Object, Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die fünf Elemente enthält. |
| Of(Object, Object, Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die vier Elemente enthält. |
| Of(Object, Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die drei Elemente enthält. |
| Of(Object, Object) |
Gibt eine nicht veränderbare Liste zurück, die zwei Elemente enthält. |
| Of(Object) |
Gibt eine nicht veränderbare Liste zurück, die ein Element enthält. |
| Of(Object[]) |
Gibt eine nicht veränderbare Liste zurück, die eine beliebige Anzahl von Elementen enthält. |
| Remove(Int32) |
Entfernt das Element an der angegebenen Position in dieser Liste (optionaler Vorgang). |
| Remove(Object) |
Entfernt das erste Vorkommen des angegebenen Elements aus dieser Liste, wenn es vorhanden ist (optionaler Vorgang). |
| RemoveAll(ICollection) |
Entfernt aus dieser Liste alle Elemente, die in der angegebenen Auflistung enthalten sind (optionaler Vorgang). |
| RemoveFirst() |
Entfernt und gibt das erste Element dieser Auflistung zurück (optionaler Vorgang). (Geerbt von ISequencedCollection) |
| RemoveIf(IPredicate) |
Entfernt alle Elemente dieser Auflistung, die das angegebene Prädikat erfüllen. (Geerbt von ICollection) |
| RemoveLast() |
Entfernt und gibt das letzte Element dieser Auflistung zurück (optionaler Vorgang). (Geerbt von ISequencedCollection) |
| ReplaceAll(IUnaryOperator) |
Ersetzt jedes Element dieser Liste durch das Ergebnis, dass der Operator auf dieses Element angewendet wird. |
| RetainAll(ICollection) |
Behält nur die Elemente in dieser Liste bei, die in der angegebenen Auflistung enthalten sind (optionaler Vorgang). |
| Reversed() |
Gibt eine umgekehrt sortierte Ansicht dieser Auflistung zurück. (Geerbt von ISequencedCollection) |
| Set(Int32, Object) |
Ersetzt das Element an der angegebenen Position in dieser Liste durch das angegebene Element (optionaler Vorgang). |
| SetJniIdentityHashCode(Int32) |
Legen Sie den von |
| SetJniManagedPeerState(JniManagedPeerStates) |
Eine sortierte Auflistung, bei der der Benutzer genau steuern kann, wo in der Liste jedes Element eingefügt wird. (Geerbt von IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
Legen Sie den von |
| Size() |
Gibt die Anzahl der Elemente in dieser Liste zurück. |
| Sort(IComparator) |
Sortiert diese Liste nach der reihenfolge, die durch die angegebene . |
| Spliterator() |
Erstellt eine |
| SubList(Int32, Int32) |
Gibt eine Ansicht des Teils dieser Liste zwischen dem angegebenen |
| ToArray() |
Gibt ein Array zurück, das alle Elemente in dieser Liste in der richtigen Reihenfolge enthält (vom ersten bis zum letzten Element). |
| ToArray(IIntFunction) |
Gibt ein Array zurück, das alle Elemente in dieser Auflistung enthält, wobei die bereitgestellte |
| ToArray(Object[]) |
Gibt ein Array zurück, das alle Elemente in dieser Liste in der richtigen Reihenfolge enthält (vom ersten bis zum letzten Element); Der Laufzeittyp des zurückgegebenen Arrays ist die des angegebenen Arrays. |
| UnregisterFromRuntime() |
Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt. (Geerbt von IJavaPeerable) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IIterable.Spliterator() |
Erstellt eine |
| ISequencedCollection.AddFirst(Object) |
Soll hinzugefügt werden |
| ISequencedCollection.AddLast(Object) |
Soll hinzugefügt werden |
| ISequencedCollection.RemoveFirst() |
Soll hinzugefügt werden |
| ISequencedCollection.RemoveLast() |
Soll hinzugefügt werden |
| ISequencedCollection.Reversed() |
Eine sortierte Auflistung, bei der der Benutzer genau steuern kann, wo in der Liste jedes Element eingefügt wird. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Eine sortierte Auflistung, bei der der Benutzer genau steuern kann, wo in der Liste jedes Element eingefügt wird. |
| ToEnumerable(IIterable) |
Eine sortierte Auflistung, bei der der Benutzer genau steuern kann, wo in der Liste jedes Element eingefügt wird. |
| ToEnumerable<T>(IIterable) |
Eine sortierte Auflistung, bei der der Benutzer genau steuern kann, wo in der Liste jedes Element eingefügt wird. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |