首先,我对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[??]
如您所见,我不知道如何声明此数组。我必须事先知道我的清单的大小。我虽然作为一个参数传递(这将解决问题),但我需要这样解决它。
答案 0 :(得分:1)
你打电话给list.getSize()
,如下:
if (list.getSize() != this.getSize()) {
return false;
}
答案 1 :(得分:1)
由于您无法在Java中创建通用数组,因此您必须执行
public Object[] toArray() {
E[] myarray = (E[]) new Object[this.getSize()];
答案 2 :(得分:0)
只需使用getSize()
方法:
E myarray = new E[getSize()];