1.分类: Collection接口:List接口继承(可重复):ArrayList(大小自动调整、有序随机访问很有效、结尾新增高效)、LinkedList(参照链表、中间插入更高效)
Set接口继承(不可重复):HashSet实现(用Hash码[相同元素哈希吗一样只存一个]存储无重复元素、无序)
Map接口:类HashMap实现(Key无重复,若重复,后面的覆盖前面的)
类TreeMap实现(以树结构存储,自动按照key排序)
2,详解:一:Collection接口:
(1).ArrayList:a.大小随新增元素而变(系统预设可存10个元素);b.非结尾处新增元素,后面的元素都后移一位。c.任何object都可作为其对像,基本类型不可。
(2).LinkedList:应用节点Node数据结构,不在结尾处增删元素更快速;
(3).HashSet:应用于简单快速、检索相关的操作。(无序、无重复、)
(4).Iterator:元素迭代器,在ArrayList和LinkedList中都提供方法iterator(),用来返回一个指定类型的元素迭代器Iterator对集合的引用,用来对各元素按次序遍历。
boolean hasNext():如果仍有元素,返回真,否则返回假
E next():返回下一个元素
void remove():删除迭代器当前指向集合中的元素
二:Map接口
(1)key与value必须是对象,而不允许是基本数据类型
(2)key在一个集合中必须具有唯一性,即key不允许有重复,但允许有重复的value出现
(3) 对于Map的KeySet()方法返回类型是Set,而Values()的返回类型是Collection。(应用性比较广)
1、HashMap:HashMap实现Map接口,它利用Hash表结构,因而集合中的元素不按次序排列。注意:系统预设HashMap的元素数目为16,也可以自己指定HashMap储 存的元素数目。由于HashMap不支持迭代器,可以利用keySet()方法,以set引用返回HashMap集合中所有的key,再利用元素迭代器对元素进行遍历,对元素的遍历, 可以调用values()实现
2、TreeMap:TreeMap与HashMap相似,实现了Map接口,所有元素都是key-value的映射。两者之间的不同点在于
(1)TreeMap是应用于Tree数据结构储存key-value元素,而HashMap利用Hash表结构
(2)TreeMap集合中的各个映射单元是按照key自动排序的,而HashMap集合中的各映射单元是无序的
(3)TreeMap集合更加有效利用存储空间,而HashMap必须指定或者使用预设映射单元存储空间