Java集合框架

来源:互联网 发布:jd lsat 知乎 编辑:程序博客网 时间:2024/06/07 15:57
 JCF:Java Collection Framework集合框架
    是为表示和操作集合而规定的一种统一的标准体系结构。集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法(在一个实现了某个集合框架的工具类Collections它提供了对集合进行排序等多种算法实现)。

Java集合框架中的两大类接口;Collection和Map,其中,Collection又有两个子接口:List和Set。所以通常说Java集合框架共有三大类接口:List、Set和Map。它们的共同点:都是集合接口,都可以用来存储很多对象,如果要对集合类型加以约束可以使用泛型<只能放引用类型>。它们的区别如下:
    ·Collection接口存储一组不唯一(允许重复)、无序的对象。
    ·Set接口继承Collection接口,存储一组唯一(不允许重复)、无序的对象。
    ·List接口继承Collection接口,存储一组不唯一(允许重复)、有序(以元素的插入的次序排列)的对象。
    ·Map接口存储一组成对的键-值对象,提供key(键)到value(值)的映射。Map中的key不要求有序,不允许重复。value同样不要求有序,但允许重复。
    (·Iterator接口是负责定义访问和遍历元素的接口。)
    
List接口中的常用方法
    boolean:add(Object obj)在列表末尾顺序添加元素,起始索引位置从0开始。
    void:add(int i,Object obj)在指定的索引位置添加元素,原索引位置及其后面的元素依次后移。
    int:size()返回集合中的元素个数。
    Object:get(int index)返回指定索引位置处的元素。
    boolean:contains(Object obj)判断集合中是否存在指定元素。
    boolean:remove(Object obj)从集合中删除元素。
    Object:remove(int index)从集合中删除指定位置的元素。
Map接口中的常用方法
    Object:put(Object key,Object value)以“键-值对”的方式进行存储元素。
    Object:get(Object key)根据键返回相关联的值,若不纯在指定的键,则返回null。
    Object:remove(Object key)删除指定的键映射的“键-值对”。
    int:size()返回该集合中的元素个数。
    Set:keySet()返回键的集合
    Collection:values()返回值的集合
    boolean:containsKey(Object key)若存在指定的键映射的“键-值对”,则返回true。
    boolean:isEmpty()若不存在键-值映射的关系,则返回true。
    void:clear()从此映射中移除所有的映射关系。
常用的实现类
    ArrayList类实现了List接口,对数组进行了封装,实现了长度可变的数组。ArrayList存储数据的方式和数组相同(线形结构),都是在内存中分配连续的空间,它的优点在于遍历元素和随机访问元素的效率比较高。
    LinkedList类实现了List接口,它采用链表存储方式(指针网状接口),优点在于插入、删除元素时的效率比较高。提供了额外的addFirst()、addLast()、removeFirst()和removeLast()等方法,这些方法使得LinkedList可被用作堆栈(stack)或者队列(queue)
    HashMap类实现了Map接口,它的存储方式是哈希表。哈希表也成为散列表,是根据关键码值(key value)而直接进行访问的数据接口。
        
    
0 0
原创粉丝点击