这是我的Arraylist
,我在创建新类来检查我的方法是否有效时遇到了麻烦。
任何帮助都是有用的,我需要知道如何开始我的新课程。
我创建了一个类,但我一直弄错了。 我只需要在新班级中扩展它吗?
任何帮助都将非常有用。
public class MyArray<E extends Comparable<E>> {
// No other data fields necessary.
private E[] data;
private int size;
public MyArray(int size) {
this.data = (E[]) (new Comparable[size]);
size = 0;
}
public void add(E item) {
if (size == data.length)
resize();
data[size] = item;
size++;
}
private void resize() {
int len = data.length * 2;
E[] temp = (E[]) new Comparable[len];
for (int i = 0; i < size; i++)
temp[i] = data[i];
data = temp;
}
public boolean contains(E item) {
for (int i = 0; i < size; i++) {
if (data[i].equals(item))
return true;
}
return false; // not found
}
public void delete(int index) {
if (index < 0 || index >= size)
throw new IndexOutOfBoundsException();
for (int i = index + 1; i < size; i++) {
data[i - 1] = data[i];
}
size--;
}
public boolean delete(E item) {
if (item == null)
return false;
for (int i = 0; i < size; i++) {
if (data[i].equals(item)) {
delete(i); // delete at index i
return true;
}
}
return false;// not found
}
}
答案 0 :(得分:0)
由于您的类是使用泛型(E)定义的,因此您必须提供E的实际类型。实际上,它的工作原理应与ArrayList类非常相似。
MyArray<String> a = new MyArray<String>(10);
a.add("Foo");
a.add("Bar");