Java集合框架(java.util包)

集合的概念:

  是一种工具类,可以存储任意数量、任意类型的对象(所以后面需要用到泛型,以约束集合中元素的类型)

集合的作用:

  1、在类的内部对属性进行组织

  2、方便快速定位属性位置

  3、某些集合接口,提供了一系列排列有序的元素,可以在序列中快速插入或删除

  4、某些集合接口,提供了映射关系,可以通过关键字(key)快速查找到对应的唯一对象,而这个key可以是任意类型

集合与数组的差别:

  1、数组长度固定,集合长度可变

  2、数组只能通过下标访问具体元素,集合则可通过任意类型查找所映射的具体对象

Java集合框架体系结构:根接口——子接口——实现类(并未全部列出)

List接口及其常用实现类——ArrayList

  1、List是元素有序并且可以重复的集合,称为序列

  2、List可以精确插入或删除某个位置的元素

  3、ArrayList——数组序列,底层是由数组实现的

ArrayList实现的方法详见Java API文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

注意:对象存入集合都会变成Object类型,取出时需要进行类型转换

泛型:

  集合中的元素可以是任意类型的对象,如果把某个对象放入集合,则会忽略他的类型,当作Object处理

  1、泛型集合中,不能添加泛型规定的类型及其子类型以外的对象,编译期间会进行类型检查

  2、泛型使用for each方法遍历集合时,不需要用Object,直接使用原类型即可

  3、泛型集合中的限定类型不能使用基本数据类型,可以通过使用包装类限定允许存入的基本数据类型

Set接口及其实现类——HashSet

  1、Set是元素无序并且不可以重复的集合,称为“集”

  2、HashSet——哈希集

  3、Set中,同一个对象无论添加多少次,只有第一次会添加生效

  4、Set中可以添加null

Map

  Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够根据key查找value,key和value可以是任意类型的对象

  key和value属于Entry类的对象实例

  key值不能重复

  一个value可以对应多个key,一个key只能对应一个value

  Map的泛型:Map<K, V>    //K为key值的类型,V为value值的类型

HashMap

  HashMap中的Entry对象是无序排列的

  key值和value值可以为null,但是只能有一个key为null,因为key不可重复

原文地址:https://www.cnblogs.com/yaohunzhanyue/p/7143118.html