首先,我对Java几乎没有经验。
回答我的问题,我用自己的方法实现自己的列表。
public class MyList<E> implements List<E>{
.....
其中一种方法返回列表的大小
public int getSize(){
....
}
然后,如果我能以某种方式将此方法应用于我的列表,我还有两个更简单的方法。怎么会这样?
我有一个方法,必须比较给定的列表是否等于此列表
public boolean equals(Lista<E> list){
....
}
我曾经首先比较两个列表的大小,如果它们不匹配则返回false。如果他们这样做,它会继续比较每个元素。这可能吗?我将如何应用getSize?如果这是不可能的,我将逐个元素进行比较。
我的另一种方法必须返回每个元素的数组
public Object[] toArray() {
E myarray = new E[??]
如你所见,我不知道如何声明这个数组。我必须事先知道我的清单的大小。我虽然作为一个参数传递(这将解决问题),但我需要这样解决它。
你打电话给list.getSize()
,就像这样:
if (list.getSize() != this.getSize()) {
return false;
}
由于您无法在Java中创建通用数组,因此您必须这样做
public Object[] toArray() {
E[] myarray = (E[]) new Object[this.getSize()];
只需使用getSize()
方法:
E myarray = new E[getSize()];