最近学习数据结构,在网上看到对数组这样描述:优点:1、按照索引查询元素速度快2、按照索引遍历数组方便缺点:1、数组的大小固定后就无法扩容了2、数组只能存储一种类型的数据3、添加,删除的操作慢,因为要移动其他的元素。我想问的是,为什么数组的大小固定后就无法扩容了,为什么只能储存一种数据类型。请大佬指点!
2 回答

江户川乱折腾
TA贡献1851条经验 获得超5个赞
数组的内存分配是连续的,比如
arr[] a = new arr[]{1,2,3};
这个数组占了内存中的前三个位置,假设第四个位置已经有其他数据了,如果给数组扩容的话,就会覆盖掉第四个位置中的内容。数组只能存储一种数据是片面的吧,比如下边的代码:
Object[] arr = new Object[3]; arr[0] = 1; arr[1] = "aa"; arr[2] = true;
在java中是没问题的
添加回答
举报
0/150
提交
取消