0

首先,我在 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[??]

正如你所看到的,我不知道如何声明这个数组。我必须事先知道我的名单的大小。我虽然关于作为参数传递(这将解决问题)但我需要以这种方式解决它。

4

3 回答 3

1

你打电话list.getSize(),像这样:

if (list.getSize() != this.getSize()) {
    return false;
}
于 2012-10-01T20:05:14.587 回答
1

由于您无法在 Java 中创建通用数组,因此您必须这样做

public Object[] toArray() { 
   E[] myarray = (E[]) new Object[this.getSize()];
于 2012-10-01T20:07:29.783 回答
0

只需使用以下getSize()方法:

E myarray = new E[getSize()];
于 2012-10-01T20:05:00.787 回答