List

《Java 业务开发常见错误 100 例》-极客时间

SubList

SubList和ArrayList没有继承关系,不能强转。
image.png
SubList 复制了 ArrayList 的 modCount, 因此对原函数的新增或删除都会导致ArrayList 的 modCount 的变化。 而子列表的遍历、 增加、 删除时又会检查创建 SubList 时的modCount 是否一致, 显然此时两者会不一致, 导致抛出ConcurrentModificationException (并发修改异常)。

ArrayList

ArrayList扩容

  • 初始是0
  • 第一次add,扩容到10,之后1.5倍
  • image.png

    ArrayList迭代器

  • failfast

    • image.png