第 11 天: 顺序表(一)
顺序表是一个比较重要的数据结构。顺序表由一个数组和一个代表有效数字个数的整数组成。它的特点有以下:
一:逻辑上相邻的数据,在物理存储的位置上也是相邻的。
二:存储密度高,需要预先分配空间。后续的代码可以看到。
三:便于随机存取。
四:但是它存储结构跟数组是一样,所以也就不便于插入和删除。当顺序表较大时,插入和删除都会引起大量数据的移动。如果插入和删除频繁操作的话,最好使用链表的数据结构。顺序表一般存储不经常变动的数据。
创建一个类,且常量用 final 修饰MAX_LENGTH即表的最大长度.
进行无参构造同时对其进行初始化(其实这步感觉可以省略,因为用到的是下面的带有传参功能的方法,可能是因为代码规范或者是完整性需要进行保留),用 new 生成新的对象,这就是第一个结构体。
以上为第二个结构体,有参构造。
先相当于初始化字符串之后再运用for循环将data[]中每一个字符加上一个,连接在一起,应注意0到length-1包含的数量就是length长度,但当i<length-1时跳出循环,执行73行代码因为最后一个数字后面不需要再添加逗号。
传入数值,调用有参构造方法, 在主方法里进行输出得出结果。(没传参数会调用无参构造)
其中对于98行代码,因为”toString 这个方法很特殊, 它覆盖了 Object 类的相应方法. 可以看到, 在 println 里面使用 tempFirstList 里, 由于是用另一个字符串与其相加, 系统会自动调用。tempFirstList.toString().”所以当我调试删去98行中的.toString()对输出结果也没有任何影响。
同时调用reset()方法使length=0,打印输出empty。