概述
之前编写的顺序表:
在我写的第一个顺序表里面,内部维护的数组长度是定长的,为100,不存在扩容和缩容的问题。然而如果顺序表储存了较少元素,会造成空间的较多冗余;如果顺序表内部数组空间满,会发生上溢出,不过我们在线性表的project里定义了属于顺序表的ListException而不是Java自带的“数组下标的越界异常(java.lang.IndexOutOfBoundException)”。 但是顺序表不应该受到数组定长的限制,它应该能做到看起来、用起来“长度可变”(虽然实际上是数组操作实现的)。所谓的“动态分配”、“长度可变”实际上是说:如果我们需要trim来调整长度,则重新申请一块内存,创建一个与顺序表长度等长的数组,避免冗余(前提是保证不再轻易增加元素,否则还要另外开辟空间移动数据);如果数组长度不足以满足需要,我们需要申请开辟更大的内存空间创建一个容量更大的数组,将原有元素copy过去。 动态调整容量的操作我已经在顺序表2.0中调整了:
trim()的解决方案我自己做的trim的实现代码:
@SuppressWarnings