Java中的集合框架

定义:数组

Java中的集合类:是一种工具类,就像是容器,存储任意数量的具备共同属性的对象。框架

做用:工具

集合能够:3d

一、在类的内部,对数据进行组织;对象

二、简单而快速的搜索大数量的条目;blog

三、有的集合接口,提供了一系列排列有序的元素,而且能够在序列中间快速的插入或者删除元素;接口

四、有的集合接口,提供了映射关系,能够经过关键字(key)快速的查找到对应的惟一对象,而这个关键字能够是任意类型。io

与数组的对比:容器

一、数组的长度固定,集合长度可变;泛型

二、数组只能经过下标访问元素,下标类型只能是数字型,而有的集合能够经过任意类型查找所映射的具体对象。

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值能够重复;
  • key对value是多(一)对一的关系;
  • Map接口提供了返回key值集合、value值集合、Entry值集合,的方法;
  • Map支持泛型,形式如:Map<K,V>

HashMap类

  • HashMap是Map的一个重要实现类,也是最经常使用的,基于哈希表实现;
  • HashMap中的Entry对象是无序排列的;
  • Key值和value值均可觉得null,可是一个HashMap只能有一个Key值为null的映射(Key值不可重复);