定义:
Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象。
作用:
集合可以:
1、在类的内部,对数据进行组织;
2、简单而快速的搜索大数量的条目;
3、有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除元素;
4、有的集合接口,提供了映射关系,可以通过关键字(key)快速的查找到对应的唯一对象,而这个关键字可以是任意类型。
与数组的对比:
1、数组的长度固定,集合长度可变;
2、数组只能通过下标访问元素,下标类型只能是数字型,而有的集合可以通过任意类型查找所映射的具体对象。
Java集合框架的体系结构:
Collection接口
1、是List、Set和Queue接口的父接口;
2、定义了可用于操作List、Set和Queue的方法——增删改查;
List接口及其实现类——ArrayList
- List(序列),元素有序,并且可重复;
- List可以精确控制元素的插入位置,或删除指定位置的元素;
- ArrayList——数组序列,是List的一个重要实现类;
- ArrayList底层是由数组实现的
泛型集合中,不能添加泛型规定的类型及其子类型以外的对象,否则会报错。
泛型集合中的限定类型,不能使用基本类型,必须用基本类型的包装类。
Set接口及其实现类——HashSet
- Set(集),元素无序,并且不可以重复;
- HashSet——哈希集,是Set的一个重要实现类;
Map接口
- Map提供了一种映射关系,元素是以键值对(key-value)的形式存储的,能根据key快速查找value;
- Map中的键值对以Entry类型的对象实例形式存在;
- key值不能重复,value值可以重复;
- key对value是多(一)对一的关系;
- Map接口提供了返回key值集合、value值集合、Entry值集合,的方法;
- Map支持泛型,形式如:Map<K,V>
HashMap类
- HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现;
- HashMap中的Entry对象是无序排列的;
- Key值和value值都可以为null,但是一个HashMap只能有一个Key值为null的映射(Key值不可重复);