文章目录
顺序表
底层是数组,进行动态分配后可以进行使用
LinkedList
可以通过这个顺序表进行构造,构造出来的顺序表已含有此顺序表
ArrayList
构造方法
带参(int)构造
构造出含有这么大空间的数组进行使用
不带参构造
不进行添加,这个数组就不分配空间;当第一次调用add()方法时,分配10个内存空间。
满,需要扩容
使用 Arrays.copyOf(this.elem, 2 * this.elem.length)
即可完成扩容至原来的2倍大小
remove()
remove(int)
删除下标处的值
remove(Object)
删除与参数相等的数据
参数是Object类型,需要是引用,所以需要使用new Integer()。
subList()
- 截取是左闭右开区间进行截取
- 截取并不会产生新的对象,只会向后取到应该截取的地址,所以对于截取的子对象进行修改同时也会对源对象造成更新
几点注意
- 在Java中,基本类型(如int、double等)不能作为泛型类型参数
- 一个引用,如果能够直接通过sout进行输出,一定重写了toString()(如ArrayList)
- 顺序表适合
静态数据的保存和访问
顺序表的优缺点
优点:
- 随机访问
缺点:
- 随机插入、删除效率低
- 动态分配空间时会空间浪费