List
1.什么是List
在集合框架中,List是一个接口,继承自Collection(接口),从数据结构的角度来说,就是线性表。
2.List中常见接口
方法 解释 | |
boolean add(E e) 尾插 e | |
void add(int index, E element) 将 e 插入到 index 位置 | |
| boolean addAll(Collection<? extends E> c) 尾插 c 中的元素 |
E remove(int index) 删除 index 位置元素 | |
boolean remove(Object o) 删除遇到的第一个 o | |
E get(int index) 获取下标 index 位置元素 | |
E set(int index, E element) 将下标 index 位置元素设置为 element | |
void clear() 清空 | |
boolean contains(Object o) 判断 o 是否在线性表中 | |
int indexOf(Object o) 返回第一个 o 所在下标 | |
int lastIndexOf(Object o) 返回最后一个 o 的下标 | |
List<E> subList(int fromIndex, int toIndex) 截取部分 list |
3.ArrayList与顺序表
(1)线性表:具有n个相同特性的数据元素的有限序列。常见的线性表:顺序表,链表,栈,队列……
线性表在逻辑上是线性结构,在物理结构上并不是连续的,在物理结构存储时,通常以数组和链式结构的形式存储。
(2)顺序表:一段物理地址连续的存储单元一次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。
如何实现一个顺序表?
代码如下:
public class MarryList implements lList{
public int[] elem;
//记录有效数据
public int usedSize;
//默认的容量
public static final int DEFAULT_CAPACITY = 5;
public MarryList() {
elem =new int[DEFAULT_CAPACITY];
}
}