1.List这个接口,主要有两个实现类:ArrayList 和 LinkedList(链表)
add方法、get方法、size方法、toArry方法
addlast方法--------------在最后一个位置增加元素
addfirst方法--------------在开头位置插入一个元素
2.ArrayList和LinkedList的比较分析
1)ArrayList底层用数组实现,LinkedList底层用双向链表实现
2)执行插入或删除操作时,LinkedList效率高
3)执行搜索操作时,ArrayList效率高,因为ArrayList连续存放,能很快定位元素位置
4)当向ArrayList添加一个对象时,实际上就是将该对象放置到ArrayList底层所维护的数组当中
当箱LinkedList添加一个对象时,实际上LinkedList内部会生成一个Entry对象,该Entry对象的结构为:
Entry
{
Entry previous;//前引用
Object element;//Object类型元素element是我们想LinkedList中添加的元素
Entry next;//后引用
}
最后,将Entry对象加入到链表中。LinkedList中所维护的是一个个Entry对象。
3.实现类与接口
List的实现类是ArrayList和LinkedList
Set的实现类是HashSet和LinkedHashSet
SortedSet——>TreeSet
Map的实现类是HashMap
SortedMap——>TreeMap