动态数组的项目开发代码
时间: 2023-10-22 10:17:48 浏览: 92
动态数组是一种非常常用的数据结构,它可以动态地扩展数组的大小,以适应不确定的数据规模。以下是一个简单的动态数组的实现代码:
```java
public class DynamicArray<T> {
private Object[] arr;
private int size;
public DynamicArray() {
arr = new Object[10];
size = 0;
}
public T get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
return (T) arr[index];
}
public void set(int index, T value) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
arr[index] = value;
}
public void add(T value) {
if (size == arr.length) {
resize();
}
arr[size++] = value;
}
public int size() {
return size;
}
private void resize() {
Object[] newArr = new Object[arr.length * 2];
System.arraycopy(arr, 0, newArr, 0, arr.length);
arr = newArr;
}
}
```
该动态数组实现基于 Java 语言,使用了泛型,可以存储任意类型的数据。在构造函数中,创建一个大小为 10 的 Object 数组作为底层存储结构,size 变量记录了数组中实际存储的元素个数。get 方法用于获取指定下标的元素,set 方法用于设置指定下标的元素,add 方法用于在末尾添加新的元素。当数组大小不够时,会调用 resize 方法进行扩容,将底层存储结构数组大小扩大两倍。
该动态数组的使用方式与普通数组类似,示例代码如下:
```java
public static void main(String[] args) {
DynamicArray<Integer> arr = new DynamicArray<>();
arr.add(1);
arr.add(2);
arr.add(3);
System.out.println(arr.get(0));
System.out.println(arr.get(1));
System.out.println(arr.get(2));
}
```
输出结果为:
```
1
2
3
```
以上是一个简单的动态数组实现,实际项目中可能需要根据具体需求进行调整和优化。
阅读全文