public class MyArray<V> {
private ArrayList<V> elements;
// Creates a MyArray of size "size" and fill it with null objects.
// Throws NegativeArraySizeException if "size" is negative.
public MyArray(int size) throws NegativeArraySizeException
我如何创建这个数组我对使用的泛型类感到困惑,并用空对象填充它意味着将它留空?
答案 0 :(得分:4)
首先,不需要在您提供的代码中创建Java数组。您需要做的是创建并填写ArrayList<V>
。这很简单:
public MyArray(int size) throws NegativeArraySizeException {
elements = new ArrayList<V>(size); // 'size' is the capacity argument
for (int i = 0; i < size; i++) {
elements.add(null);
}
}
至于评论中提到的其他两个构造函数,我看不出你的困难是什么。实际上,使用适当的参数调用elements.add
适当的次数只是直接的Java代码。
(我不打算给你代码,因为要么你已经能够自己写代码,要么你需要学习如何去做。)
如果我创建另一个名为my array的数组和字符串元素,我怎样才能有一个复制方法将元素从第一个复制到第二个?是否有内置的方法?
这没有多大意义。但是有一些库方法可用于创建作为现有数组的副本的数组,以及作为现有集合副本的集合。您可以在MyArray
构造函数中使用它们。查看Arrays
类,Collections
类以及各种集合(即List / Set / Map)实现类的复制构造函数。