利用数组实现Java ArrayList类的基本功能,要求实现方法包括:
初始ArrayList长度4,
Append尾部追加一个对象,长度不足容量翻倍策略;
Insert在参数指定位置插入数据,参数位置错误则不加入,长度不足容量翻倍策略;
Delete删除参数指定位置元素,考虑参数位置错误情况
Find,根据参数指定位置定位元素,考虑参数位置错误情况
这个怎么做
实现如下,望采纳
public class ArrayList<T> {
private static final int INITIAL_CAPACITY = 4;
private Object[] elements;
private int size;
public ArrayList() {
elements = new Object[INITIAL_CAPACITY];
}
public void append(T element) {
ensureCapacity(size + 1);
elements[size++] = element;
}
public void insert(int index, T element) {
if (index < 0 || index > size) {
return;
}
ensureCapacity(size + 1);
for (int i = size; i > index; i--) {
elements[i] = elements[i - 1];
}
elements[index] = element;
size++;
}
public void delete(int index) {
if (index < 0 || index >= size) {
return;
}
for (int i = index; i < size - 1; i++) {
elements[i] = elements[i + 1];
}
size--;
}
@SuppressWarnings("unchecked")
public T find(int index) {
if (index < 0 || index >= size) {
return null;
}
return (T) elements[index];
}
private void ensureCapacity(int minCapacity) {
if (minCapacity > elements.length) {
int newCapacity = elements.length * 2;
elements = Arrays.copyOf(elements, newCapacity);
}
}
}
这个简单啊
利用数组实现Java ArrayList类的基本功能:
// 数组转list
List<String> list = Arrays.asList("jack", "bob", "alice", "mark");
list.remove("jack");
list.get(0);