请考虑以下事项:
class a
{
int p;
a(int x)
{
p=x;
}
}
class b
{ vector<a> var;
b(*type*a l)
{
new var;
var(l);
}
}
基本上,我试图创建一个类('a')的向量并从另一个类调用它。几个问题 -
1)在b类中,'new var'的位置是否正确?当我定义vector var或在构造函数内部时,我应该在构造函数外声明它吗?每个案例都意味着什么。
2)在main中,我想声明一个类b的向量。我该怎么做?
确实
Vector<b> ex = new Vector<b> (100,5); sound right?
即,100是大小,5是应该增加它达到满容量的数量?
我可以不指定大小并继续通过addElement()添加吗? - 矢量类型会自动增加其大小吗?
3)因此,要访问b的第i个元素和b的成员变量'var'的第j个元素, 我该怎么说呢? 这是对的 - ?
ex[i].var.get[j] ?
我刚刚开始这一切,所以请耐心等待。我是一个真正的新手。
答案 0 :(得分:1)
首先,如果你指的是java.util.Vector
,除非你知道自己在做什么,否则不要使用它。请改用java.util.ArrayList
。
以下显示如何声明和初始化包含a
类型对象的ArrayList。
class b {
private ArrayList<a> var = new ArrayList<a>(); // declare & intialize like this
b(a l) {
var.add(l);
}
}
ArrayLists的ArrayList ...
ArrayList<ArrayList<Foo>> foo = new ArrayList<ArrayList<Foo>>();
// initialize foo
foo.get(0).get(2); // like foo[0][2] if foo were an array