0

我试图在构造函数中从这个实例中的 arrayList 添加值,而不是静态值:

构造函数中具有静态值的实例

v0.adjacencies = new Edge[]{ new Edge(v1,  79.83),
                             new Edge(v5,  81.15) };

我想用数组元素替换这些值。例如:

v0.adjacencies = new Edge[]{ VALUES FROM ArrayList (ar2edge) };

我从中得到数组

for (int kk=0;kk<arvertex.size();kk++){
   Edge edges = new Edge(arvertex.get(kk),ar2.get(kk));
   ar2edge.add(edges);
}
4

1 回答 1

4

使用该toArray()方法返回一个由ArrayList.

Edge[] edges = ar2edge.toArray(new Edge[ar2edge.size()]);

引用上面链接的 Javadocs:

以正确的顺序(从第一个元素到最后一个元素)返回一个包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则在其中返回。否则,将使用指定数组的运行时类型和此列表的大小分配一个新数组。

这样,您就可以声明自己的适当大小的数组,并toArray为您填充它。

于 2013-10-10T21:21:54.773 回答