Tengo un ArrayListy quiero copiarlo exactamente. Uso clases de utilidad cuando es posible bajo la suposición de que alguien pasó algún tiempo corrigiendo. Entonces, naturalmente, termino con la Collectionsclase que contiene un método de copia.
Supongamos que tengo lo siguiente:
List<String> a = new ArrayList<String>();
a.add("a");
a.add("b");
a.add("c");
List<String> b = new ArrayList<String>(a.size());
Collections.copy(b,a);
Esto falla porque básicamente cree bque no es lo suficientemente grande como para aguantar a. Sí, sé que btiene el tamaño 0, pero ahora debería ser lo suficientemente grande, ¿no? Si tengo que llenar bprimero, entonces se Collections.copy()convierte en una función completamente inútil en mi mente. Entonces, a excepción de la programación de una función de copia (que voy a hacer ahora), ¿hay una manera adecuada de hacerlo?