集合框架概述
1、集合框架的作用:
在实际开发中,我们经常会对一组相同类型的数据进行统一管理操作。到目前为止,我们可以使用数组结构,链表结构,二叉树
结构来实现。
数组的最大问题在于数组中的元素个数是固定的,要实现动态数组,毕竟还是比较麻烦,在JDK1.2之后,JAVA完整的提供了类集
合的概念,封装了一组强大的、非常方便的集合框架API,让我们在开发中大大的提高了效率。
集合中分为三大接口:
Collection、Map、Iterator
集合框架的接口和类在java.util包中
2、Collection接口:
Collection没有具体的实现类,它提供更具体的子接口(Set和List),(Set和List)接口通常用来传递Collection
Collection采集器即集合的总接口,可以代表任何List或Set接口的实现类:
List接口的实现类:ArrayList、Vector、LinkedList
Set接口的实现类:HashSet、LinkedHashSet、TreeSet
List接口:
1、有序的,可以重复
2、允许多个null元素
在实际开发中,我们如何选择List的具体实现类?
1、安全性问题(一般Vector)
2、是否频繁插入,删除操作(LinkedList)
3、是否是存储后直接遍历(一般ArrayList)
Set接口:
1、无序的(不保证顺序)
2、不允许重复元素
3、如果要排序,选择TreeSet
4、如果不要排序,也不用保证顺序,选择HashSet
5、如果不要排序,但要保证顺序,选择LinkedHashSet
3、Map接口:
具体的实现类:HashMap、Hashtable、LinkedHashMap、TreeMap
Map接口的实现类中存储数据类型是:
1、键值对存储一组对象
2、Key不能重复(唯一),Value可以重复
3、
* HashMap:单线程,用哈希表不要求顺序
* Hashtable:多线程
* LinkedHashMap:在HashMap基础上要保证顺序时
* TreeMap:存储两个对象时,且要求顺序时
4、Iterator接口:
Iterator用来迭代集合器输出每个对象,在jdk1.5之后通常会用foreache迭代取代