Java 将列表附加到列表

Java 将列表附加到列表,java,object,append,Java,Object,Append,我正在编写一个名为List的类,它创建一个Customers的实例变量数组(Customer只是另一个类,它接受人名的String参数) i、 e私人客户[]数据 我正在尝试编写一个append方法,它将接受一个客户,并将其添加到main方法中的另一个列表 要做到这一点,似乎有一个名为addAll()的方法,但由于我是从头开始编写代码的,所以无法使用此方法。我查看了伪代码以了解此方法的总体思路,它将对象转换为数组,然后使用arraycopy附加两个列表 我的意思是,如果我使用数组,这种方法对我来

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

i、 e
私人客户[]数据

我正在尝试编写一个append方法,它将接受一个
客户
,并将其添加到main方法中的另一个
列表

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


我的意思是,如果我使用
数组
,这种方法对我来说是有意义的,但是我试图从另一个列表中添加
客户
对象,并将它们添加到main方法中的列表中

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

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();
            }
        }
    }
}
类列表{
私有整数大小;
私人客户[]数据;
专用最终静态int默认容量=10;
公开名单(){
尺寸=0;
数据=新客户[默认容量];
}
公共void append(列出另一个){
int anotherSize=另一个.size;
对于(int i=另一个大小-1;i>=0;--i){
if(尺寸<数据长度){
data[size++]=另一个.data[i];
另一个。数据[i]=null;
另一个尺寸--;
}否则{
抛出新的IndexOutOfBoundsException();
}
}
}
}

如果使用的是
arraycopy
,则必须使用数组(而不是
List
s)。请提供更多的上下文。对不起,我使用的是
列表s
,我的意思是我理解为什么伪代码使用
arraycopy
,但我想了解如何不用它,因为我没有使用
arraycopy
顺便说一句,
ArrayList
类的源代码是一个很好的参考。谢谢!虽然我没有真正得到另一行
other.data[I]=null;另一个尺寸--,您能快速解释一下吗?@hello这两行用于删除已获取并添加到基本列表中的元素。若您不想移除元素,也不想获取它,那个么不需要这样做。很抱歉for循环中出现了错误,我刚刚修复了它。对,如果从末尾开始,删除元素会更有意义。好的,再次谢谢!