IList Interfaccia

Definizione

Raccolta ordinata, in cui l'utente ha un controllo preciso sulla posizione in cui viene inserito ogni elemento nell'elenco.

[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
Derivato
Attributi
Implementazioni

Commenti

Raccolta ordinata, in cui l'utente ha un controllo preciso sulla posizione in cui viene inserito ogni elemento nell'elenco. L'utente può accedere agli elementi in base al relativo indice intero (posizione nell'elenco) e cercare gli elementi nell'elenco.

A differenza dei set, gli elenchi in genere consentono elementi duplicati. Più formalmente, gli elenchi in genere consentono coppie di elementi e1 e e2 tali che e1.equals(e2)in genere consentono più elementi Null se consentono tutti gli elementi Null. Non è inconcepibile che un utente voglia implementare un elenco che impedisce duplicati, generando eccezioni di runtime quando l'utente tenta di inserirli, ma si prevede che questo utilizzo sia raro.

L'interfaccia List inserisce clausole aggiuntive, oltre a quelle specificate nell'interfacciaCollection, nei contratti dei iteratormetodi , addremove, equals, e hashCode . Anche le dichiarazioni per altri metodi ereditati sono incluse qui per praticità.

L'interfaccia List fornisce quattro metodi per l'accesso posizionale (indicizzato) agli elementi dell'elenco. Gli elenchi (ad esempio Java matrici) sono in base zero. Si noti che queste operazioni possono essere eseguite in tempo proporzionale al valore di indice per alcune implementazioni ,ad esempio la LinkedList classe . Pertanto, l'iterazione degli elementi in un elenco è in genere preferibile all'indicizzazione tramite di essa se il chiamante non conosce l'implementazione.

L'interfaccia List fornisce un iteratore speciale, denominato ListIterator, che consente l'inserimento e la sostituzione degli elementi e l'accesso bidirezionale oltre alle normali operazioni fornite dall'interfaccia Iterator . Viene fornito un metodo per ottenere un iteratore di elenco che inizia in corrispondenza di una posizione specificata nell'elenco.

L'interfaccia List fornisce due metodi per cercare un oggetto specificato. Dal punto di vista delle prestazioni, questi metodi devono essere usati con cautela. In molte implementazioni eseguiranno ricerche lineari costose.

L'interfaccia List fornisce due metodi per inserire e rimuovere in modo efficiente più elementi in un punto arbitrario nell'elenco.

Nota: sebbene sia consentito che gli elenchi contengano se stessi come elementi, è consigliabile prestare estrema cautela: i equals metodi e hashCode non sono più ben definiti in tale elenco.

Alcune implementazioni di elenco hanno restrizioni sugli elementi che possono contenere. Ad esempio, alcune implementazioni impediscono gli elementi Null e alcune hanno restrizioni sui tipi dei relativi elementi. Il tentativo di aggiungere un elemento non idoneo genera un'eccezione deselezionata, in genere NullPointerException o ClassCastException. Il tentativo di eseguire una query sulla presenza di un elemento non idoneo può generare un'eccezione oppure può semplicemente restituire false; alcune implementazioni mostreranno il comportamento precedente e alcune mostreranno quest'ultima. In genere, il tentativo di un'operazione su un elemento non idoneo il cui completamento non comporta l'inserimento di un elemento non idoneo nell'elenco può generare un'eccezione oppure può avere esito positivo, all'opzione dell'implementazione. Tali eccezioni vengono contrassegnate come "facoltative" nella specifica per questa interfaccia.

<h2>"unmodifiable">Unmodifiable Lists</h2>

I List#of(Object...) List.of metodi factory statici e List#copyOf List.copyOf offrono un modo pratico per creare elenchi non modificabili. Le List istanze create da questi metodi presentano le caratteristiche seguenti:

<ul>li Sono imodificabile<>/i>.<>< Non è possibile aggiungere, rimuovere o sostituire gli elementi. La chiamata di qualsiasi metodo mutatore nell'oggetto List causerà UnsupportedOperationException sempre la creazione di un'eccezione. Tuttavia, se gli elementi contenuti sono modificabili, questo potrebbe causare la modifica del contenuto dell'elenco. <li>Non consentono null elementi. I tentativi di crearli con null gli elementi comportano NullPointerException. <li>Sono serializzabili se tutti gli elementi sono serializzabili. <li>L'ordine degli elementi nell'elenco è uguale all'ordine degli argomenti forniti o degli elementi nella matrice specificata. <li>Gli elenchi e le relative #subList(int, int) subList visualizzazioni implementano l'interfaccia RandomAccess . <li>Sono basati sul valore. I programmatori devono considerare le istanze che sono #equals(Object) uguali a intercambiabili e non devono usarle per la sincronizzazione o possono verificarsi comportamenti imprevedibili. Ad esempio, in una versione futura, la sincronizzazione potrebbe non riuscire. I chiamanti non devono fare ipotesi sull'identità delle istanze restituite. Le factory sono gratuite per creare nuove istanze o riutilizzare quelle esistenti. <li>Vengono serializzati come specificato nella pagina Modulo serializzato . </ul>

Aggiunta nella versione 1.2.

per java.util.List.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Proprietà

Nome Descrizione
First

Da aggiungere

Handle

Ottiene il valore JNI dell'oggetto Android sottostante.

(Ereditato da IJavaObject)
IsEmpty

Restituisce un valore che indica se l'oggetto List non contiene elementi.

JniIdentityHashCode

Restituisce il valore di java.lang.System.identityHashCode() per l'istanza di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
JniManagedPeerState

Stato del peer gestito.

(Ereditato da IJavaPeerable)
JniObjectReferenceControlBlock

Raccolta ordinata, in cui l'utente ha un controllo preciso sulla posizione in cui viene inserito ogni elemento nell'elenco.

(Ereditato da IJavaPeerable)
JniPeerMembers

Supporto per l'accesso ai membri e la chiamata.

(Ereditato da IJavaPeerable)
Last

Da aggiungere

PeerReference

Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto di cui è stato eseguito il wrapping Java.

(Ereditato da IJavaPeerable)

Metodi

Nome Descrizione
Add(Int32, Object)

Inserisce l'elemento specificato nella posizione specificata in questo elenco (operazione facoltativa).

Add(Object)

Aggiunge l'elemento specificato alla fine di questo elenco (operazione facoltativa).

AddAll(ICollection)

Accoda tutti gli elementi della raccolta specificata alla fine di questo elenco, nell'ordine in cui vengono restituiti dall'iteratore della raccolta specificata (operazione facoltativa).

AddAll(Int32, ICollection)

Inserisce tutti gli elementi nella raccolta specificata in questo elenco nella posizione specificata (operazione facoltativa).

AddFirst(Object)

Aggiunge un elemento come primo elemento di questa raccolta (operazione facoltativa).

(Ereditato da ISequencedCollection)
AddLast(Object)

Aggiunge un elemento come ultimo elemento di questa raccolta (operazione facoltativa).

(Ereditato da ISequencedCollection)
Clear()

Rimuove tutti gli elementi da questo elenco (operazione facoltativa).

Contains(Object)

Restituisce true se questo elenco contiene l'elemento specificato.

ContainsAll(ICollection)

Restituisce true se l'elenco contiene tutti gli elementi dell'insieme specificato.

CopyOf(ICollection)

Restituisce un elenco non modificabile contenente gli elementi dell'insieme specificato, nell'ordine di iterazione.

Disposed()

Chiamato quando l'istanza è stata eliminata.

(Ereditato da IJavaPeerable)
DisposeUnlessReferenced()

Se non sono presenti riferimenti in sospeso a questa istanza, chiama Dispose(); in caso contrario, non esegue alcuna operazione.

(Ereditato da IJavaPeerable)
Equals(Object)

Confronta l'oggetto specificato con questo elenco per verificarne l'uguaglianza.

Finalized()

Chiamato quando l'istanza è stata finalizzata.

(Ereditato da IJavaPeerable)
ForEach(IConsumer)

Esegue l'azione specificata per ogni elemento di Iterable finché tutti gli elementi non sono stati elaborati o l'azione genera un'eccezione.

(Ereditato da IIterable)
Get(Int32)

Restituisce l'elemento in corrispondenza della posizione specificata in questo elenco.

GetFirst()

Ottiene il primo elemento di questa raccolta.

(Ereditato da ISequencedCollection)
GetHashCode()

Restituisce il valore del codice hash per questo elenco.

GetLast()

Ottiene l'ultimo elemento di questa raccolta.

(Ereditato da ISequencedCollection)
IndexOf(Object)

Restituisce l'indice della prima occorrenza dell'elemento specificato nell'elenco oppure -1 se l'elenco non contiene l'elemento .

Iterator()

Restituisce un iteratore sugli elementi di questo elenco nella sequenza corretta.

LastIndexOf(Object)

Restituisce l'indice dell'ultima occorrenza dell'elemento specificato nell'elenco oppure -1 se l'elenco non contiene l'elemento .

ListIterator()

Restituisce un iteratore di elenco sugli elementi di questo elenco (in sequenza corretta).

ListIterator(Int32)

Restituisce un iteratore di elenco sugli elementi di questo elenco (in sequenza corretta), a partire dalla posizione specificata nell'elenco.

Of()

Restituisce un elenco non modificabile contenente zero elementi.

Of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object)

Restituisce un elenco non modificabile contenente dieci elementi.

Of(Object, Object, Object, Object, Object, Object, Object, Object, Object)

Restituisce un elenco non modificabile contenente nove elementi.

Of(Object, Object, Object, Object, Object, Object, Object, Object)

Restituisce un elenco non modificabile contenente otto elementi.

Of(Object, Object, Object, Object, Object, Object, Object)

Restituisce un elenco non modificabile contenente sette elementi.

Of(Object, Object, Object, Object, Object, Object)

Restituisce un elenco non modificabile contenente sei elementi.

Of(Object, Object, Object, Object, Object)

Restituisce un elenco non modificabile contenente cinque elementi.

Of(Object, Object, Object, Object)

Restituisce un elenco non modificabile contenente quattro elementi.

Of(Object, Object, Object)

Restituisce un elenco non modificabile contenente tre elementi.

Of(Object, Object)

Restituisce un elenco non modificabile contenente due elementi.

Of(Object)

Restituisce un elenco non modificabile contenente un elemento.

Of(Object[])

Restituisce un elenco non modificabile contenente un numero arbitrario di elementi.

Remove(Int32)

Rimuove l'elemento in corrispondenza della posizione specificata in questo elenco (operazione facoltativa).

Remove(Object)

Rimuove la prima occorrenza dell'elemento specificato da questo elenco, se presente (operazione facoltativa).

RemoveAll(ICollection)

Rimuove da questo elenco tutti i relativi elementi contenuti nella raccolta specificata (operazione facoltativa).

RemoveFirst()

Rimuove e restituisce il primo elemento di questa raccolta (operazione facoltativa).

(Ereditato da ISequencedCollection)
RemoveIf(IPredicate)

Rimuove tutti gli elementi di questa raccolta che soddisfano il predicato specificato.

(Ereditato da ICollection)
RemoveLast()

Rimuove e restituisce l'ultimo elemento di questa raccolta (operazione facoltativa).

(Ereditato da ISequencedCollection)
ReplaceAll(IUnaryOperator)

Sostituisce ogni elemento di questo elenco con il risultato dell'applicazione dell'operatore a tale elemento.

RetainAll(ICollection)

Mantiene solo gli elementi di questo elenco contenuti nella raccolta specificata (operazione facoltativa).

Reversed()

Restituisce una visualizzazione in ordine inverso di questa raccolta.

(Ereditato da ISequencedCollection)
Set(Int32, Object)

Sostituisce l'elemento in corrispondenza della posizione specificata in questo elenco con l'elemento specificato (operazione facoltativa).

SetJniIdentityHashCode(Int32)

Impostare il valore restituito da JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Raccolta ordinata, in cui l'utente ha un controllo preciso sulla posizione in cui viene inserito ogni elemento nell'elenco.

(Ereditato da IJavaPeerable)
SetPeerReference(JniObjectReference)

Impostare il valore restituito da PeerReference.

(Ereditato da IJavaPeerable)
Size()

Restituisce il numero di elementi nell'elenco.

Sort(IComparator)

Ordina questo elenco in base all'ordine indotto dall'oggetto specificato Comparator.

Spliterator()

Crea un Spliterator oggetto sugli elementi descritti da questo Iterableoggetto .

(Ereditato da IIterable)
SubList(Int32, Int32)

Restituisce una visualizzazione della parte di questo elenco tra l'esclusivo , inclusivo e toIndex, specificatofromIndex.

ToArray()

Restituisce una matrice contenente tutti gli elementi di questo elenco nella sequenza corretta (dal primo all'ultimo elemento).

ToArray(IIntFunction)

Restituisce una matrice contenente tutti gli elementi di questa raccolta, utilizzando la funzione fornita generator per allocare la matrice restituita.

(Ereditato da ICollection)
ToArray(Object[])

Restituisce una matrice contenente tutti gli elementi di questo elenco nella sequenza corretta (dal primo all'ultimo elemento); Il tipo di runtime della matrice restituita è quello della matrice specificata.

UnregisterFromRuntime()

Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Ereditato da IJavaPeerable)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IIterable.Spliterator()

Crea un Spliterator oggetto sugli elementi in questo elenco.

ISequencedCollection.AddFirst(Object)

Da aggiungere

ISequencedCollection.AddLast(Object)

Da aggiungere

ISequencedCollection.RemoveFirst()

Da aggiungere

ISequencedCollection.RemoveLast()

Da aggiungere

ISequencedCollection.Reversed()

Raccolta ordinata, in cui l'utente ha un controllo preciso sulla posizione in cui viene inserito ogni elemento nell'elenco.

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Raccolta ordinata, in cui l'utente ha un controllo preciso sulla posizione in cui viene inserito ogni elemento nell'elenco.

ToEnumerable(IIterable)

Raccolta ordinata, in cui l'utente ha un controllo preciso sulla posizione in cui viene inserito ogni elemento nell'elenco.

ToEnumerable<T>(IIterable)

Raccolta ordinata, in cui l'utente ha un controllo preciso sulla posizione in cui viene inserito ogni elemento nell'elenco.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a