IList Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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 |
| JniIdentityHashCode |
Restituisce il valore di |
| 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 |
| ContainsAll(ICollection) |
Restituisce |
| 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 |
| 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 |
| 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 |
| 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 |
| Size() |
Restituisce il numero di elementi nell'elenco. |
| Sort(IComparator) |
Ordina questo elenco in base all'ordine indotto dall'oggetto specificato |
| Spliterator() |
Crea un |
| SubList(Int32, Int32) |
Restituisce una visualizzazione della parte di questo elenco tra l'esclusivo , inclusivo e |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| 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 |