问答详情
源自:2-10 均摊复杂度和防止复杂度的震荡

动态数组扩充及伸缩

if (size == data.length / 4 && data.length / 2 != 0)

这个“size == data.length / 4”是在频繁操纵删除才进行扩容,但是我操作到你条件边界点,数组的长度就会占用过多空间。


提问者:qq_慕标4067893 2020-11-13 12:04

个回答

  • Gorit
    2020-11-19 23:36:51

    所以看 ArrayList 的源码,默认的容量大小是 16,也是 2 的倍数,这样动态扩容就不会出现为 0 的情况了