如何调整数组列表的大小

2022-09-01 17:24:34

我来自C++背景,我想拥有一个矩阵

ArrayList<arrayList<E>> javamatrix 

在C++,我会做

std::vector<std::vector<T> > cppmatrix;
std::vector<T>vcol(cols);
cppmatrix.resize(rows,vcol);

我似乎找不到此任务的内置函数,那么我应该使用另一个集合吗?除了使用 for 循环之外,没有办法做到这一点?resize()ArrayListsjavamatrix.add()


PS 我希望它在构造函数中以其大小进行初始化,因为在我编辑元素或添加或删除元素之前可能会查询该大小。


答案 1

没有自动构造和添加元素的等效项。您必须自己执行此操作。但是,确保容量等效于 vector 的 .它将确保您有空间,但不会改变实际大小。resizereserve


答案 2

您不需要调整数组列表的大小。您最初传入的大小只是其起始大小。如果尝试添加超出其当前大小的项目,它将自动调整大小。

文档中

每个 ArrayList 实例都有一个容量。容量是用于在列表中存储元素的数组的大小。它始终至少与列表大小一样大。当元素添加到 ArrayList 时,其容量会自动增长。除了添加元素具有恒定的摊销时间成本这一事实之外,没有指定增长策略的详细信息。


推荐