在java中什么时候更多的用数组而不是用arraylist

2025-04-16 09:31:53
推荐回答(2个)
回答1:

这个问题答案要从不同角度判断,个人理解如下:

数组Array:

  • 相比arraylist而言,高效,但使用前先设定容量,容量固定难以动态扩展。

  • 通常情况下存储同构对象(如int[] String[]等),但声明object[]的数组除外

  • 存储类型校验

  • 不能够随意添加项和删除其中的项

ArrayList:

  • 容量动态增长,牺牲效率

  • 不校验类型,编译时会

  • ArrayList可以在任意位置插入和删除项

     

使用时要看情况,基于效率和类型检验一般情况下都使用数组,简明来说ArrayList是Array的复杂版本,其内部封装了一个Object[]而已。

回答2:

数组性能要比arraylist好,不过arraylist功能强,一般都愿意用arraylist。

数组最适合的场合是多维数组,arraylist用多维的话,非常麻烦。