java的ArrayList是线性的,那岂不是每次add操作都要重新划分内存地址?

你还未发现 2019-04-20 09:57:41
如题,如果真是这样,那和数组有什么区别呢?,仅仅是封装后,使用更加方便吗?
...全文
131 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ITjavaman 2019-04-28
  • 打赏
  • 举报
回复
默认长度是10,超过长度的7成时会自动扩容,扩容倍数1.5
maradona1984 2019-04-28
  • 打赏
  • 举报
回复
自己点进去看看源码就知道了,不知道你从哪听的,或者你理解错误
许多年以后LP 2019-04-28
  • 打赏
  • 举报
回复
可以看这篇文章 http://www.nonelonely.com/article/1553949744282 。ArrayList的源码解读 。 ArrayList就是维护一个可变的数组,当Add时先判断数组是不是满了,如果满了就扩容。
Timor__ 2019-04-20
  • 打赏
  • 举报
回复
arraylist内存自己没有手动设置,好像默认是10,当超过10之后,就会重新构造一个内存,然后再把原来内存上的数据全部拷贝过来
Timor__ 2019-04-20
  • 打赏
  • 举报
回复
数组高效但是其容量固定且无法动态改变; ArrayList容量可动态改变但是效率不如数组

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧