一、集合框架概述
1》集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象。
2》作用:
a、在类的内部,对数据进行组织。
b、简单而快速的搜索大数量的条目。
c、有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素。
d、有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型。
3》与数组的对比
a、数组的长度固定,集合长度可变。
b、数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象。
4》Java集合框架体系结构,根接口分为两个:
a、Collection(包括List、Queue、Set三个子接口)
List、Quene存储的元素是排列有序的,并且可以重复
Set存储的元素是无序的,并且不可以重复
List和Set比较常用,List翻译为" 序列 ",Quene翻译为 " 队列",而Set翻译为"集" 。
b、Map
二、Collection接口&List接口
1》Collection接口
a、是List、Set和Queue接口的父接口
b、定义了可用于操作List、Set和Queue的方法——增删改查
c、List接口及其实现类——ArrayList
1.List是元素有序并且可以重复的集合,被称为序列
2.List可以精确的控制每个元素的插入位置,或删除某个位置元素
3.ArrayList——数组序列,是List的一个重要实现类
4.ArrayList底层是由数组实现的
2》注:对象存入集合都会变成Object类型,取出时需要类型转换。
三、泛型
集合中的元素,可以是任意类型的对象(对象的引用)
如果把某个对象放入集合,则会忽略他的类型,而把他当作Object处理,取出的时候也是当作Object处理
泛型则是规定了某个集合只可以存放规定的类型及其子类型的对象,否则会报错!
会在编译期间进行类型检查,可以直接按指定类型获取集合元素
泛型不能使用基本类型,若必须使用,则使用它们的包装类。
四、Set接口及其实现类——HashSet
1》Set是元素无序并且不可以重复的集合,被称为集
2》HashSet——哈希集,是Set的一个重要实现类
注:Set集合中只能使用foreach或iterator方法来遍历,不能使用get()方法,因为Set是无序的
五、Map和HashMap
1》Map接口:
1。Map提供了一种影射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value
2。Map中的键值对以Entry类型的对象实例形式存在
3。键(key值)不可重复,value值可以
4。Map支持泛型,形式如:Map<K , V>
2》HashMap类
1。HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现
2。HashMap中的Entry对象是无序排列的
3。Key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)