Java集合
集合有两个重要的接口:Collection(单值)和Map(Key-Value)
Collection有两个重要的子接口:List(允许重复)和Set(不允许重复)
List:
ArrayList:采用数组方式来存放对象。数组特点:查找快,增删慢
链表特点:查找慢,增删快
Vector:同ArrayList一样,基于Object数组方式实现
Stack: 继承Vector,支持LIFO(后进先出)
LinkedList:
1.基于双向链表机机制实现,集合中的每个元素都知道其前一个元素及后一个元素的位置。
2.查找删除元素要遍历链表
3.非线程安全
Map:
HashMap:
jdk1.2推出,异步处理性能高,非线程安全,允许为null
HashTable:
jdk1.0推出,同步处理性能低,线程安全,不允许为null
TreeMap:按照key排序。基于红黑树实现,无容量限制,非线程安全