从参数数组我已经实现数组列表与数组:Java创建
public class ArrayIndexList<E> {
private E[] A;
private int capacity = 5; // Initial Array Size
private int size = 0;
public ArrayIndexList() {
A = (E[]) new Object[capacity];
}
public void add(int index, E element) {
/* if array is full:
* 1. double the array size
* 2. copy elements to the new array */
if (size == capacity) {
capacity = capacity * 2;
E[] B = (E[]) new Object[capacity];
for (int i = 0;i < size;i++)
B[i] = A[i];
A = B;
}
// shift the elements up
for (int i = size - 1;i >= index;i--)
A[i + 1] = A[i];
// add new element
A[index] = element;
size = size + 1;
}
public E remove(int index) {
E temp = A[index];
//shift elements down
for (int i = index;i < size - 1;i++)
A[i] = A[i + 1];
size = size - 1;
return temp;
}
}
这是工作,但编译器会发出警告:
Type safety: Unchecked cast from Object[] to E[] ArrayIndexList.java
有什么不好的代码?
是否有任何解决方案来完全解决问题而不是忽略它? –