实现泛型list的java代码
时间: 2023-10-04 16:08:48 浏览: 105
以下是一个简单的泛型List的Java代码实现:
```java
public class MyList<T> {
private T[] items;
private int size;
private int capacity;
public MyList(int capacity) {
this.capacity = capacity;
this.size = 0;
items = (T[]) new Object[capacity];
}
public MyList() {
this(10);
}
public void add(T item) {
if (size == capacity) {
resize();
}
items[size++] = item;
}
private void resize() {
T[] newItems = (T[]) new Object[capacity * 2];
for (int i = 0; i < size; i++) {
newItems[i] = items[i];
}
items = newItems;
capacity *= 2;
}
public T get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
}
return items[index];
}
public int size() {
return size;
}
}
```
这个类有以下几个重要的特点:
1. 泛型类型参数`T`用于指定列表中存储的元素类型。
2. 列表底层使用一个泛型数组来存储元素。
3. `size`表示列表中实际存储的元素数量,`capacity`表示底层数组的容量。
4. `add`方法用于向列表中添加元素,若底层数组已满则自动扩容。
5. `get`方法用于获取指定位置的元素。
6. `size`方法用于获取列表中实际存储的元素数量。
阅读全文