将列表附加到列表

时间:2015-05-23 02:31:20

标签: java object append

我正在编写一个名为List的类,它创建一个Customers的实例变量数组(Customer只是另一个接受String个参数的类& #39; s name),

private Customer[] data

我尝试编写一个追加方法,该方法将Customer添加到主方法中的另一个List

要做到这一点,似乎有一个名为addAll()的方法,但由于我是从头开始编写这些代码,所以我无法使用它。我查看了伪代码,但这个方法得到了一个大致的想法,它将Object转换为数组,然后使用arraycopy附加两个列表。

我想说,如果我使用arrays,这种方式对我有意义,但我尝试从其他列表中添加Customer对象并将其添加到列表中在主要方法。

1 个答案:

答案 0 :(得分:0)

不确定你想要什么,但我认为你可以像arraycopy方法一样自己实现append方法。这是一个简单的例子

class List {
    private int size;
    private Customer[] data;
    private final static int DEFAULT_CAPACITY = 10; 

    public List() {
        size = 0;
        data = new Customer[DEFAULT_CAPACITY];
    }

    public void append(List another) {
        int anotherSize = another.size;
        for (int i = anotherSize - 1; i >= 0; --i) {
            if (size < data.length) {
                data[size++] = another.data[i];
                another.data[i] = null;
                another.size--;
            } else {
                throw new IndexOutOfBoundsException();
            }
        }
    }
}