java - (java) 设置 vector 的大小

标签 java list vector

我面临一个非常简单的问题:

List<String> myList = new Vector<String>(10);
myList.add(5,"HELLO");

给我 ArrayOutOfBoundException : 5>0

有没有办法指定 Vector 的大小并以随机顺序填充列表?

最佳答案

您没有指定大小,而是指定了 Vector 的容量. 你可以做:

List<String> myList = new Vector<String>();
for(int i = 0;i < 10; i++)
    myList.add(null);
myList.set(5, "HELLO");

应该做的是忘记 Vector类,因为它已经过时 10 多年了。

如果只需要固定大小和随机访问,可以使用数组

String[] myArr = new String[10];

如果你需要它是一个Collection , 你可以使用

List<String> myList = Arrays.asList(myArr);

最后,如果您想在其中添加更多元素(Arrays.asList() 返回一个固定大小的列表),您可以使用

List<String> myList = new ArrayList<>(Arrays.asList(myArr));

关于java - (java) 设置 vector 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35178166/

相关文章:

java - 使用来自父类(super class)的单个参数,其中父类(super class)使用更多参数

java - 从另一个类中的 protected 方法获取变量值

python - 高效地在 Python 列表中查找索引(与 MATLAB 相比)

c++ - 将多个元素插入二维 block

java - 为什么我从 Eclipse antfile 构建 jar 时会收到 "no main manifest attribute"错误?

java - 为什么有些条目会被替换?

list - 从列表中删除整数

c++ - 动态添加一行到 std::string 二维 vector 数组

c++ - Floyd 算法使用 (const vector<int>& t : flights), 存储在 't' 上的值是什么

java - JFreeChart:单击鼠标在散点图上显示数据