我有一个通用对象类型的 ArrayList,即列表队列。我想写一个函数EnqueueModified,它以一个arraylist和一个list对象作为输入,并返回另一个ArrayList,其中包含旧arraylist和list对象的元素,但不影响传递的原始arraylist。ie Enqueue 操作应该在arraylist 的新副本上执行并返回。
这可以按如下方式完成:
public List<E> EnqueueModified(E e, List<E> queue) {
List<E> clone = new ArrayList<E>(queue);
clone.add(e);
return clone;
}
但是有没有更好的方法来做到这一点?有没有更快的方法来创建列表的副本,而不是使用复制构造函数?我不能使用克隆,因为它不支持通用列表。