为什么使用集合框架,而很少数组作为存储结构
1),数组长度,不能动态扩容,集合框架无需声明存储大小,可以动态扩容
2),数组存储类型单一,集合框架可以存储任何类型,加上
泛型, 可以避免强制转换
3),数组操作方法少,集合框架操作元素方法多,便于管理
常见的集合有:
List集合:ArrayList和linkedList
Set集合:HashSet 和 TreeSet
Map集合:HashMap 和TreeMap
1)list集合:有顺序的,可以重复的,没有排序的集合,通过索引存取
ArrayList:是实现基于动态数组的集合,随机访问速度快
linkedList:基于链表的集合,插入和删除速度快
2)Set集合:没有顺序的,无重复的,每个对象只接受一次。可用于去重复
Hashset; 去重复用
hashset
TreeSet: 去重复带排序用TreeSet
HashSet是基于Hash
算法实现的,其性能通常优于TreeSet,我们通常都应该使用HashSet,在我们需要排序的功能时,我们才使用TreeSet
3)map集合:成对的数据结构,键值具有唯一性,否则值被替换
HashMap:用于快速查找的
TreeMap:返回的结果是经过排序的,是唯一带有subMap()方法的可以返回一个子树