本帖最后由 活的精彩 于 2015-12-5 09:24 编辑
1.集合和数组的区别
数组长度固定,而集合长度是可变的
数组值可以存储对象,还可以存储基本数据类型;而集合只能存储对象
数组存储数据类型是固定的,而集合存储的数据类型不固定
2.集合类的特点
集合只能存储对象
集合的长度是可变的
集合可以存储不同类型的对象
3.
单列集合
Collection(根接口)
List -- 元素有序(存取顺序),可重复,有索引
ArrayList
数组,查询快,增删慢
线程不安全,效率高
LinkedList
链表,查询慢,增删快
线程不安全,效率高
Vector
数组,查询快,增删慢
线程安全,效率低
Set -- 元素无序(存取顺序),唯一,无索引
HashSet 保证元素唯一,依赖对象所属类的hashCode() 和 equals()
LinkedHashSet -- 保证元素唯一,又有序
TreeSet
保证元素唯一,实现排序:
自然顺序 -- 让元素所属类去实现Comparable接口,重写compareTo()方法
比较器顺序 -- 在TreeSet的构造方法内传递Comparator接口的子类对象。
如果两种排序方式都有,以比较器优先。
4.
双列集合
Map(根接口)
HashMap 底层是哈希算法,针对键 linkedHashMap 底层是链表,针对键
TreeMap 底层是二叉树算法,针对键
Hashtable 底层是哈希算法
重点:Map的两种遍历方式
通过键找值
通过键值对映射关系对象找键和值
|
|