ArrayList的实现方法
创始人
2024-09-14 08:01:26
0
  1. 使用Java内置的ArrayList类来实现,具体操作如下:

//创建一个ArrayList对象 ArrayList list = new ArrayList<>();

//向列表中添加元素 list.add("apple"); list.add("banana"); list.add("orange");

//获取列表中的元素个数 int size = list.size();

//获取列表中指定位置的元素 String item = list.get(0);

//移除指定位置的元素 list.remove(1);

//清空列表 list.clear();

  1. 自己实现一个ArrayList类,具体代码如下:

public class MyArrayList {

//默认初始容量
private static final int DEFAULT_CAPACITY = 10;

//储存元素的数组
private Object[] elementData;

//元素个数
private int size;

//构造函数,初始化数组
public MyArrayList() {
    this.elementData = new Object[DEFAULT_CAPACITY];
}

//向列表中添加元素
public void add(T element) {
    if (size == elementData.length) {
        //如果数组已满,扩容
        resize();
    }
    elementData[size++] = element;
}

//获取列表中指定位置的元素
public T get(int index) {
    if (index < 0 || index >= size) {
        throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
    }
    return (T) elementData[index];
}

//移除指定位置的元素
public T remove(int index) {
    if (index < 0 || index >= size) {
        throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
    }
    T oldValue = (T) elementData[index];
    //将该元素之后的所有元素向前移动一位
    System.arraycopy(elementData, index + 1, elementData, index, size - index - 1);
    elementData[--size] = null; //删除该元素
    return oldValue;
}

//获取列表中元素个数
public int size() {
    return size;
}

//

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
报告实验.pdfbase.tt... 这个错误通常是由于找不到字体文件或者文件路径不正确导致的。以下是一些解决方法:确认字体文件是否存在:...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...