动态数组

参考文章 https://juejin.im/post/59954d9e6fb9a0248a3fd606

一、数组

数组是存储同一种数据类型的容器,它在声明时必须指定数组的大小,不支持动态的扩容。

二、动态数组创建

Java中的ArrayList继承的是Collection类。它的内部实现也是一个普通的数组。它允许Null的存在。在创建一个动态数组时有三种方式

1.创建一个空的数组

image.png

2.指定数组的大小

image.png

*3.将一个集合转换成数组 **

image.png

三、动态数组查询

根据索引来查找数组中元素的位置

image.png

查询是否包含一个元素
会将要查找的元素和数组中每一个位置存储的对象进行比较

image.png

四、添加方法动态数组的核心

1.数组中的size代表数组中含有多少个元素,每次插入或删除元素都会改变这个值。
2.如果数组中的length==size,即数组中占满了元素,那么对原数组进行扩容:创建一个更大容量的数组,将之前数组的值复制到这个新的数组中,使用这个新的数组作为容器。

image.png

数组和动态数组性能对比

数组的插入性能要比动态数组好,动态数组每次在插入时都会判断容器是否满了,如果已经满了会重新创建一个更大的数组,并且把之前元素全部拷贝到新的数组中,所以性能没有数组好。动态数组的操作性比数组好,因为内部封装了需要函数,用起来更方便

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容