java集合框架主要提供三种类型的集合(Set,List,Map)和一个迭代器 集合类存放于java.util包中。集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引(reference)。
集合类型主要有3种:set(集)、list(列表)和map(映射)。
ArrayList是实现了基于动态数组的数据结构,对象存储在连续的位置上。容量可以动态变化,也被称为动态数组。 快速的随机存取。中间插入和删除元素时,速度较慢。
LinkedList基于双链表的数据结构,链表中的每个节点都包含了前一个和后一个元素的引用。对于随机访问get和set,ArrayList绝对优于LinkedList,因为LinkedList要移动指针。对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。
public void addFirst(E o)//在链表开头增加元素
public void addLast(E o)//在链表结尾增加元素
public boolean offer(E o)//将指定元素增加到链表的结尾
public E removeFirst()//删除链表的第一个元素
public E removeLast()//删除链表的最后一个元素
优缺点:
ArrayList:在随机访问集合时,效率高。 根据下标寻找时,linkedList需要移动指针
LinkedList:在做增删操作时,效率高 。当集合中的元素非常多时,效率高低比较明显