ArrayList本质是数组的操作 增删慢: 1.每当插入或删除操作时 对应的需要向前或向后的移动元素 2.当插入元素时 需要判定是否需要扩容操作 扩容操作:创建一个新数组 增加length 再将元素放入进去 较为繁琐 查询快: 数组的访问 实际上是对地址的访问 效率是挺高的 列如 new int arr[5]; arr数组的地址假设为0x1000 arr[0] ~ arr[5] 地址可看作为 0x1000 + i * 4 首地址 + 下标 + 引用数据类型的字节大小