從參數數組我已經實現數組列表與數組: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
有什麼不好的代碼?
是否有任何解決方案來完全解決問題而不是忽略它? –