定义:
Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象。
作用:
集合可以:
- 在类的内部,对数据进行组织
- 简单而快速的搜索大数量的条目
- 有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除元素
- 有的集合接口,提供了映射关系,可以通过关键字(key)快速的查找到对应的唯一对象,而这个关键字可以是任意类型
与数组的对比
- 数组的长度固定,集合长度可变;
- 数组只能通过下标访问元素,下标类型只能是数字型,而有的集合可以通过任意类型查找所映射的具体对象。
Java集合框架的体系结构:
Collection接口
- 是list,set,queue的父接口
- 定义了可用于操作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值可以重复
- Map值提供返回key值,value值,entry值的方法
- Map支持泛型,如Map<K,V>
HashMap类
- HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现
- HashMap中的Entryt对象是无序排列
- key和value的值都可以为null,但是一个HashMap只能有一个key值为null(key不能重复)