如何将矢量转换为列表?将矢量转换为列表
Q
将矢量转换为列表
20
A
回答
39
Vector
是一个实现List
接口的具体类,因此在技术上它已经是List
。你可以这样做:
List list = new Vector();
或:
List<String> list = new Vector<String>();
(假设String
的Vector
S)。
然而,如果你想将它转换为ArrayList
,这是最接近List
落实到`矢量〜在Java集合框架则只是这样做:
List newList = new ArrayList(vector);
或仿制,假设String
的Vector
S:
List<String> newList = new ArrayList<String>(vector);
+2
对于反例,这也是正确的。 'vector newVector
2
如果你想有一个通用矢量型转换为相应的ArrayList的实用方法,你可以使用以下命令:
public static <T> ArrayList<T> toList(Vector<T> source) {
return new ArrayList<T>(source);
}
在代码中,你可以使用工具方法如下:
public void myCode() {
List<String> items = toList(someVector);
System.out.println("items => " + items);
}
您还可以使用内置的java.util.Collections.list(枚举)如下:
public void myMethod() {
Vector<String> stringVector = new Vector<String>();
List<String> theList = Collections.list(stringVector.elements());
System.out.println("theList => " + theList);
}
但是就像下面提到的某个人,一个向量是一个列表!那么为什么你需要这样做呢?也许你不想让你使用一些代码来知道它与Vector的工作 - 也许这是不恰当的下调,你希望消除这种代码味道。您可以使用
// the method i give my Vector to can't cast it to Vector
methodThatUsesList(Collections.unmodifiableList(theVector));
如果应该修改列表。一个无袖可变包装是:
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. 将一列表转换为矢量
- 2. 将1D矢量转换为2D矢量
- 3. 如何将矢量转换为方案中的列表
- 4. 将矢量方程转换为Mathematica中的方程列表
- 5. 如何将矢量转换为R中的列表?
- 6. Clojure原子将矢量转换为列表?
- 7. 矢量不转换撑罩壳列表
- 8. 将矢量转换为字符串
- 9. 将openCV矩阵转换为矢量
- 10. vhdl:将矢量转换为字符串
- 11. 将Eigen :: PermutationMatrix.indices()转换为数组/矢量
- 12. 将矢量转换为矩阵
- 13. 将矢量转换为逻辑矩阵
- 14. 将矢量转换为数组
- 15. 将matlab矩阵转换为矢量
- 16. 将Rdd [矢量]转换为Rdd [双]
- 17. 将任意数量的列转换为矢量
- 18. 将列表转换为变量序列
- 19. 将矢量矢量转换为斯卡拉的矩阵
- 20. 将矢量<Mat>转换为矢量文件Opencv
- 21. 将矢量<unsigned char>转换为矢量<unsigned short>
- 22. 如何将scala矢量转换为spark ML矢量?
- 23. 将数字矢量转换为其他数字矢量
- 24. 将矢量<derived> :: iterator转换为矢量<base> :: iterator
- 25. 如何将矢量<string>转换为矢量<char*>
- 26. 将密集矢量转换为PySpark中的稀疏矢量
- 27. GLScene - 将3D矢量转换为当前相机矢量
- 28. 转换矢量
- 29. 将Netlogo列表转换为R向量
- 30. 将列表转换为浮点变量
'Vector' *是一个'List',它不需要转换。你想达到什么目的? – skaffman 2009-12-29 09:47:59