你问:
是一个arrayList数组或列表,还是两者兼而有之?
它是一个通过继承的List,它由一个数组组成.
它实现了java.util.List<T>接口,因此通过了"is-a"测试.这意味着您可以使用List执行任何操作,包括调用所有List公共方法,您可以使用ArrayList.
它的数据模型由数组支持,因此它包含一个数组.因此,这意味着虽然它具有从底层数组获得的一些类似数组的行为,但您无法直接调用数组方法或获取数组字段.例如,您无法使用数组索引从ArrayList获取项目.即,这不起作用:myArrayList[i]但你可以通过ArrayList的get(int i)方法间接调用它.而且你也无法从中得到一个length字段,但你可以通过它的size()方法间接得到它.另请注意,从ArrayList获取数据将遵循与数组相同的限制大O行为.