Esiste un vantaggio (o molta differenza) nell'uso di Arrays.asList (qualcosa) su Collections.singletonList (qualcosa) per creare un elenco contenente un elemento? Quest'ultimo rende anche l'elenco restituito immutabile.Arrays.asList() vs Collections.singletonList()
risposta
Collections.singletonList(something)
è immutabile che Arrays.asList(something)
è una rappresentazione fissa dimensioni List
di un array in cui la lista ed array vengono integrati nel mucchio.
Arrays.asList(something)
consente modifiche non strutturali apportate a esso, che viene riflessa sia per l'elenco sia per l'array congiunto. Getta UnsupportedOperationException
per aggiungere, rimuovere elementi anche se è possibile impostare un elemento per un indice particolare.
Eventuali modifiche apportate all'elenco restituite da Collections.singletonList(something)
avranno come risultato UnsupportedOperationException
.
Inoltre, la capacità della lista restituita da Collections.singletonList(something)
sarà sempre differenza Arrays.asList(something)
cui capacità sarà la dimensione della matrice di appoggio.
Vorrei solo aggiungere che la lista singleton non è supportata da un array e ha solo un riferimento a quell'elemento. Presumibilmente, richiederebbe meno memoria e potrebbe essere significativo in base al numero di elenchi che si desidera creare.
- 1. Arrays.asList vs. Arrays.stream usare foreach()
- 2. Arrays.asList() dubbio?
- 3. Prestazioni di Arrays.asList
- 4. Come Arrays.asList (...). Contiene (...) funziona?
- 5. java: Arrays.asList Understanding (T ... array) Metodo per i tipi primitivi
- 6. Perché Arrays.asList restituisce un elenco di dimensioni fisse?
- 7. inizializzazione con carattere vs array di caratteri
- 8. Perché lista <Integer[]> listOfArrays = Arrays.asList (new Integer [] {1, 2}) non viene compilato?
- 9. La limitazione di Arrays.asList() non è vero in Thinking in Java 4 ° Edizione
- 10. Java Arrays.asList sul tipo di matrice primitivo produce inaspettato tipo List
- 11. C'è un modo per forzare il tipo di ritorno di Arrays.asList
- 12. ID vs UniqueID vs ClientID vs UniqueClientID vs StaticClientID?
- 13. ArrayList Dichiarazione vs Conversione
- 14. VS 2008 vs VS 2008 Express
- 15. .NET vs ASP.NET vs CLR vs ASP
- 16. Atomikos vs JOTM vs Bitronix vs?
- 17. Accumulare vs piega vs ridurre vs comprimere
- 18. ACE vs Boost vs Poco vs wxWidgets
- 19. VS 2013 MSTest vs nUnit vs xUnit
- 20. control.BeginInvoke() Vs Dispatcher Vs SynchronizationContext Vs .. - AFFIDABILITÀ
- 21. Exec vs ExecWait vs ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs ExecDos vs ExeCmd
- 22. bigtable vs cassandra vs simpledb vs dynamo vs couchdb vs hypertable vs riak vs hbase, cosa hanno in comune?
- 23. e vs * e | vs +
- 24. SpiderMonkey vs JavaScriptCore vs?
- 25. * vs ** vs *** in Proguard?
- 26. Async Primavera Controller vs controllori normali
- 27. bundler vs RVM vs gemme vs RubyGems vs gemsets vs system ruby
- 28. Misurare il tempo in Linux - tempo vs orologio vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?
- 29. innerText vs innerHtml vs label vs text vs textContent vs outerText
- 30. Mathematica: non valutata vs Defer vs attesa vs HoldForm vs HoldAllComplete vs etc etc
Potete anche lanciare 'ImmutableList.of()' e 'Lists.newArrayList()' di Guava nel mix. – biziclop
A parte questo, ho avuto Collections.singletonList() ha causato problemi quando un metodo restituisce un elenco che viene successivamente modificato a valle. –