Hola, hoy vamos hablar de la Interface List, generalmente agregamos elementos con el famoso método .add(), pero solo podemos hacerlo dentro de un método, es decir que solo pensamos que podemos hacer un:
List<String> listaAnimales = new ArrayList<String>();
listaAnimales.add("perro");
Y luego en algún método tenemos que realizar el famoso .add(), entonces dije mmm estamos en Java, no VB, java es un idioma para gente cool(???) algún cráneo de seguro ya encontró la manera de inicializar un lista, luego de buscar un rato, encontré la solución.
Soluciones posibles:
List<String> listaAnimales = new ArrayList<String>();
listaAnimales.add("perro");
Y luego en algún método tenemos que realizar el famoso .add(), entonces dije mmm estamos en Java, no VB, java es un idioma para gente cool(???) algún cráneo de seguro ya encontró la manera de inicializar un lista, luego de buscar un rato, encontré la solución.
Soluciones posibles:
1) List<String> listaAnimales = new ArrayList<String>() {{ add("1"); add("2"); }
Esta solución es útil pero me parece un poco sucia ya que se debería utilizar el tema de estilos y formato de código lo cual quedaría como esto:
List<String> listaAnimales = new ArrayList<String>() {
{
add("1");
add("2");
}
};
2) List<String> listaAnimales = Arrays.asList(new String[]{"1", "2"});
Esta solución es mucho mas limpia a mi gusto pero es recomendable para versiones antiguas de JDK (lease 1.4)
3) List<String> listaAnimales= Arrays.asList("1", "2");
A partir de la versión 1.5 del JDK podemos empezar a utilizar dicho método lo cual nos resulta mucho mas cómodo y mas prolijo, por lo menos a mi gusto.
Al interiorizarme mas dentro de la clase Arrays y verificar el método asList() veo dentro de la documentación (el javadoc) esto:
/**
* Returns a fixed-size list backed by the specified array. (Changes to
* the returned list "write through" to the array.) This method acts
* as bridge between array-based and collection-based APIs, in
* combination with <tt>Collection.toArray</tt>. The returned list is
* serializable and implements {@link RandomAccess}.
*
* <p>This method also provides a convenient way to create a fixed-size
* list initialized to contain several elements:
* <pre>
* List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
* </pre>
*
* @param a the array by which the list will be backed.
* @return a list view of the specified array.
* @see Collection#toArray()
*/
public static <T> List<T> asList(T... a) {
return new ArrayList<T>(a);
}
Al releer esta linea:
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
Me soltó una sonrisa y luego me auto reafirmo la premisa que los "java" somos cool, jajaja.
Espero que les allá resultado útil.
Saludos
Fuente
Java Player - ¿Como inicializar un List? - ¿Como agregar elementos a un List?
Reviewed by El lado oscuro de java
on
septiembre 14, 2012
Rating:
De verdad es de admirar, somos cool XD
ResponderEliminarJajaja Shark, somos los mas cool del mercado jajajaj. Saludos
EliminarPreciso y conciso... gracias por la info!
ResponderEliminarComo se inicializa algo como esto en una sola linea:
ResponderEliminarList> Legados = new ArrayList>();
List> Legados = new ArrayList>()
ResponderEliminar