0
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

我如何创建这个数组,我对使用的泛型类感到困惑,并且用空对象填充它是否意味着将其留空?

4

1 回答 1

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 代码。

(我不会给你代码,因为要么你已经有能力自己编写它,要么你需要学习如何去做。)


如果我在其中创建另一个名为我的数组和字符串元素的数组,我怎么能有一个复制方法来将元素从第一个复制到第二个?有内置的方法吗?

这完全没有意义。但是有一些库方法可以创建作为现有数组副本的数组和作为现有集合副本的集合。您可以在MyArray构造函数中使用它们。查看各种集合(即List/Set/Map)实现类的Arrays类、类和复制构造函数。Collections

于 2012-10-06T07:18:36.780 回答