Me gustaría preguntar: ¿cómo se convierte un Collection
a un List
en Java?Convertir la colección a la lista
Respuesta
Si ya ha creado una instancia de su subtipo List (por ejemplo, ArrayList, LinkedList), puede usar el método addAll.
por ejemplo,
l.addAll(myCollection)
muchos subtipos lista también puede tomar la colección de origen en su constructor.
Collection<MyObjectType> myCollection = ...;
List<MyObjectType> list = new ArrayList<MyObjectType>(myCollection);
Véase el Collections trail en el Java tutorials.
Haz una nueva lista y llama al addAll
con la Colección.
puede utilizar cualquiera de las 2 soluciones .. pero pensar si es necesario clonar sus colecciones, ya que tanto las colecciones contendrán el mismo objeto hace referencia a
Collection
y List
son interfaces. Usted puede tomar cualquier implementación de la interfaz List
: ArrayList LinkedList
y simplemente echarlo hacia atrás a una Collection
porque es en la parte superior
siguiente ejemplo muestra la fundición de 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;
}
¿por qué? ¿explique? – Omnipresent
Sospecho que has votado negativamente porque esto no siempre funcionará. Claro, cuando la clase implementadora de 'Collection' implementa' List' (por ejemplo 'ArrayList',' LinkedList' ...), estás bien. Pero tan pronto como intente hacer algo como 'Map
Esto es conceptualmente totalmente erróneo. No se puede "forzar" una Colección arbitraria para convertirse en una Lista mediante conversión. –
List list;
if (collection instanceof List)
{
list = (List)collection;
}
else
{
list = new ArrayList(collection);
}
Gracias por Sandeep poniéndolo - Acabo de agregar una verificación nula para evitar NullPointerException en la declaración else.
if(collection==null){
return Collections.emptyList();
}
List list;
if (collection instanceof List){
list = (List)collection;
}else{
list = new ArrayList(collection);
}
- 1. ¿Cómo convertir una colección a la lista?
- 2. más rápido Convertir de la colección a la lista <T>
- 3. mejor manera de convertir la colección a la cadena
- 4. convertir la lista de objetos a la lista de interfaces
- 5. ¿Convertir la lista de tuplas a la lista?
- 6. Agregar elemento a la lista genérica/colección usando la reflexión
- 7. Convertir una cola a la lista
- 8. Cómo convertir a la lista cadena
- 9. Maxima: matriz de convertir a la lista
- 10. Cómo convertir la lista a ObservableCollection?
- 11. Haskell: Convertir a la lista de datos
- 12. Convertir a formato de la lista IEnumerable
- 13. Conversión de la colección observable a la colección normal
- 14. Convertir de JSON a objeto de colección
- 15. Convertir lista de cadenas a la lista int
- 16. convertir lista genérica de .NET a la lista de F #
- 17. Convertir la lista <boolean> a la Cadena
- 18. manera pitónica de convertir la variable a la lista
- 19. Colección Backbone - Filtrando y Renderizando la Colección pierde referencia a la Colección original no filtrada
- 20. Java: clon colección arbitraria mediante la referencia a la colección
- 21. Seleccione el método en la lista <t> Colección
- 22. ¿La lista <T> .Last() enumera la colección?
- 23. lanzar una lista a una colección
- 24. Cómo transformar la colección Scala de la Opción [X] a la colección de X
- 25. django convertir la lista de objetos a la lista de claves principales
- 26. Convertir representación de cadena de la lista a la lista en Python
- 27. ¿Cómo convertir la lista de objetos a la lista de interfaces?
- 28. cómo convertir la lista de dict a dict
- 29. ¿Cómo convertir la lista de cadenas a dobles?
- 30. Convertir la lista <string> a StringCollection
Quieres * nombrar *? ¿O realmente quieres * saber *? :) – BalusC
Parece que no tienes idea de cómo usar colecciones generales en Java. ¿Qué tal leer un tutorial? http://java.sun.com/docs/books/tutorial/collections/intro/index.html – mickthompson
Entonces, estamos esperando su historia. – Artic