Cómo convertir un vector en una lista?convert vector a la lista
Respuesta
Vector
es una clase concreta que implementa la interfaz List
por lo que técnicamente ya es un List
. Usted puede hacer esto:
List list = new Vector();
o:
List<String> list = new Vector<String>();
(suponiendo una Vector
de String
s).
Sin embargo, si desea convertirlo en un ArrayList
, que es el List
aplicación más parecido a un `~ vectorial en el marco de las colecciones de Java a continuación, sólo hacer esto:
List newList = new ArrayList(vector);
o para una versión genérica, asumiendo un Vector
de String
s:
List<String> newList = new ArrayList<String>(vector);
Esto también parece ser cierto para el inverso, p. Ej. 'Vector newVector
Si quieres un método de utilidad que convierte un tipo de vector genérico para un ArrayList apropiada, usted podría utilizar el siguiente:
public static <T> ArrayList<T> toList(Vector<T> source) {
return new ArrayList<T>(source);
}
En su código, se utiliza el método de utilidad de la siguiente manera:
public void myCode() {
List<String> items = toList(someVector);
System.out.println("items => " + items);
}
También puede utilizar el incorporado en java.util.Collections.list (Enumeración) de la siguiente manera:
public void myMethod() {
Vector<String> stringVector = new Vector<String>();
List<String> theList = Collections.list(stringVector.elements());
System.out.println("theList => " + theList);
}
Pero, como alguien menciona a continuación, ¡un Vector es-una Lista! Entonces, ¿por qué tendrías que hacer esto? Tal vez no desee un código que use para saber que está trabajando con un vector; quizás esté realizando un down-casting indebidamente y desea eliminar este código-olor. A continuación, puede utilizar
// the method i give my Vector to can't cast it to Vector
methodThatUsesList(Collections.unmodifiableList(theVector));
si la lista debe modificarse. Una envoltura mutable fuera del manguito es:
public static <T> List<T> asList(final List<T> vector) {
return new AbstractList<T>() {
public E get(int index) { return vector.get(index); }
public int size() { return vector.size(); }
public E set(int index, E element) { return vector.set(index, element); }
public void add(int index, E element) { vector.add(index, element); }
public E remove(int index) { return vector.remove(index); }
}
}
- 1. convert std: vector to NSArray
- 2. convert System :: array to std :: vector
- 3. Lista Convert [cadena] en ValidationNEL [String, A] en una función
- 4. convert string array a la cadena
- 5. Agregar llamado vector a una lista
- 6. convertir un vector a una lista
- 7. Java Convert Array a los parámetros
- 8. lxml convert element a elementtree
- 9. jQuery - convert .live() a .on()
- 10. Scala: Convert org.w3c.dom.Document a scala.xml.NodeSeq
- 11. convert (.rptproj) a VS 2010
- 12. vector de java a la lista de arrays
- 13. Convert "esto" a una referencia a puntero
- 14. lista Convert de fracciones de flota en Python
- 15. ¿Convert diff a markdown con ponchado?
- 16. Objetivo C Convert int a NSString (iPhone)
- 17. convert Objeto de clase a bytes
- 18. java convert object array a int array
- 19. convert Matriz del tipo CV_32FC1 a CV_64FC1
- 20. groovy convert Cadena "1,503" a Entero
- 21. Oracle Convert Segundos a horas: Minutos: Segundos
- 22. boost :: python: lista de Python a std :: vector
- 23. PHP Convert Array Keys
- 24. cadena Haskell a la lista
- 25. Convert String Hasta la fecha en PHP
- 26. Convert Array para JSON
- 27. .Net Parse versus Convert
- 28. Pasar la lista de Python al vector C++ usando Boost.python
- 29. Limpiar una lista/vector de punteros AWL
- 30. Borrado vector :: final a partir del vector
Un 'Vector' * es * una' Lista', no necesita conversión. ¿Qué estás intentando lograr? – skaffman