AutoPopulatingList

AutoPopulatingList

AutoPopulatingList<E> implements List<E>, Serializable

获取元素时 get(int) 若为null则自动创建元素并填充的List

 

内部的List<E> backingList是实际的容器,add、remove、clear等等方法都是通过委托backingList完成的

 

ElementFactory<E> elementFactory是元素工厂,默认使用内部实现类ReflectiveElementFactory,也可以构造时给定

 

ReflectiveElementFactory生产元素要求元素类有无参构造方法

 

#E get(int index)  当index的元素是null时使用elementFactory创建元素并填充;允许越界,越界是使用null填充越界之前的元素位,index的位置则创建元素并填充

 

posted on 2021-10-08 15:42  icodegarden  阅读(115)  评论(0编辑  收藏  举报