【Java面试题】arrayList 与 array 的区别
2024-01-10 15:38:28
1. 空间大小和可变性
array 的大小在声明后是不可改变的,如果需要在数组中添加其他的元素,那就需要重新创建一个数组,且长度比原来多1,然后将原数组的内容复制到新数组,最后再添加需要的内容。
arrayList 可以动态增长(因为他有一个自动扩容机制)
2. 数据类型
array 可以是任意类型的对象,也可以是基本数据类型(如 int , char 等)的数组,而 arrayList 只能是引用类型的对象。(Java中的引用类型是指一种变量,它存储的是对实际对象的内存地址的引用,而不是对象本身。Java中的引用类型包括强引用、软引用、弱引用和虚引用。)
3. 数据访问
Array 可以通过索引直接访问某个元素,而 arrayList 可以使用get() 方法获取某个索引处的元素。
4.内存管理
array 直接存储在内存中,而 ArrayList 是基于数组的动态对象,其底层是一个数组,需要额外的空间来存储 ArrayList 对象本身和维护元素的新增和删除操作所需的额外开销。所以 Array 相对于ArrayList 来说内存消耗会更小。
文章来源:https://blog.csdn.net/m0_67930426/article/details/135500870
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!