Vorrei chiedere: come si converte uno Collection
in uno List
in Java?Converti collezione in lista
risposta
Se è già stata creata un'istanza del sottotipo di elenco (ad es. ArrayList, LinkedList), è possibile utilizzare il metodo addAll.
esempio,
l.addAll(myCollection)
elencare molti sottotipi possono anche assumere la collezione fonte nella loro costruttore.
Collection<MyObjectType> myCollection = ...;
List<MyObjectType> list = new ArrayList<MyObjectType>(myCollection);
Vedi l'Collections trail nel Java tutorials.
Creare un nuovo elenco e chiamare addAll
con la raccolta.
è possibile utilizzare uno dei 2 soluzioni .. ma pensare se sia necessario clonare le vostre collezioni, dal momento che entrambe le collezioni conterranno lo stesso oggetto fa riferimento
Collection
e List
sono interfacce. Si può prendere qualsiasi implementazione dell'interfaccia List
: ArrayList LinkedList
e proprio cast di nuovo ad un Collection
perché è al Top
esempio seguente mostra la fusione da ArrayList
public static void main (String args[]) {
Collection c = getCollection();
List myList = (ArrayList) c;
}
public static Collection getCollection()
{
Collection c = new ArrayList();
c.add("Apple");
c.add("Oranges");
return c;
}
perché -1? spiegare? – Omnipresent
Sospetto che tu sia stato downvoted perché _questo non funzionerà sempre_. Certo, quando la classe di implementazione 'Collection' implementa' List' (ad esempio 'ArrayList',' LinkedList' ...), stai bene. Ma non appena provi a fare qualcosa del tipo 'Mappa
Questo è solo concettualmente totalmente sbagliato. Non puoi "forzare" una raccolta arbitraria per diventare una lista per casting. –
List list;
if (collection instanceof List)
{
list = (List)collection;
}
else
{
list = new ArrayList(collection);
}
Grazie per Sandeep mettendolo - Ho appena aggiunto un controllo Null per evitare NullPointerException in un'altra istruzione.
if(collection==null){
return Collections.emptyList();
}
List list;
if (collection instanceof List){
list = (List)collection;
}else{
list = new ArrayList(collection);
}
- 1. Converti lista di stringhe in lista int
- 2. Converti lista in serie. java.lang.ArrayStoreException
- 3. Come convertire una collezione in lista?
- 4. Haskell: lista Converti dati
- 5. Scala - Converti Lista di liste in una singola Lista: Lista [Lista [A]] in Lista [A]
- 6. converti una lista piatta in lista di elenchi in python
- 7. Converti lista in tupla in serie numpy?
- 8. Converti lista in tupla in Python
- 9. Creazione di una lista/collezione osservabile
- 10. Converti spazi per% 20 in lista
- 11. Converti stringa JSON in lista di oggetti
- 12. Converti lista <boolean> in stringa
- 13. Rubino/Rails collezione in collezione
- 14. Lista Converti <int> alla lista stringa delimitata
- 15. Converti lista <Object> in stringa [] in Java
- 16. Converti una stringa in lista. Python [string.split() che agisce strano]
- 17. Converti lista <images> in un file video?
- 18. Converti lista <byte[]> in un byte [] array
- 19. Collezione Lazy in Java
- 20. Groovy non nella collezione
- 21. Converti lista R per dataframe con elementi mancanti/null
- 22. Python - converti una lista di tuple nella stringa
- 23. Converti JSON array per un oggetto lista java
- 24. Riordinare la collezione C#
- 25. Nome sillabato collezione MongoDB
- 26. LINQ, creando collezione unica di una collezione
- 27. Convertire una collezione IList <int> in una lista separata da virgole
- 28. Converti Seq [Opzione [T]] in Seq [T]
- 29. "Count where" in una collezione
- 30. Prima corrispondenza in una collezione
Si desidera * dire *? O vuoi davvero * sapere *? :) – BalusC
Sembra che tu non abbia idea su come usare le Collezioni generali in Java. Che ne dici di leggere un tutorial? http://java.sun.com/docs/books/tutorial/collections/intro/index.html – mickthompson
Quindi, stiamo aspettando la tua storia. – Artic