类似C++中的vector,动态数组需要满足以下功能
- 增(insert)
- 删(remove)
- 改(set)
- 查(get和contain)
- 支持泛型
自动扩容和缩容
上面的实现实际相当于JDK标准库中的java.util.List
,常用方法如下(参考博客):
- addAll
- replaceAll
- sort
- get
- set
- add
- remove
- indexOf
- lastIndexOf
- listIterator
- subList:注意这个函数返回的是引用,修改得到的子列表会影响原列表。好处是可以用来删除指定区间的元素比如
list.subList(from, to).clear();
- of
- copyOf