• 第14章 集合类


    java.util包中提供了一些集合类,这些集合类又被称为容器。

    提到容器不难想到数组,集合类与数组的不同之处是,数组的长度是固定的,集合的长度是可变的;

    数组用来存放基本类型的数据,集合用来存放对象的引用。

    常用的集合有List集合、Set集合和Map集合,其中List与Set继承了Collection接口,各接口还提供了不同的实现类。

    1、Collection接口

    Collection接口是层次结构中的根接口。构成Collection的单位称为元素。Collection接口通常不能直接使用,但是该接口提供了添加元素、删除元素、管理数据的方法。

    2、List接口

    List接口继承了Collection接口,因此包含Collection中的所有方法,此外List接口还定义了一下两个重要的方法。

      get(int index):获得指定索引位置的元素。

      set(int index,Object obj):将集合中指定索引位置的元素修改为指定的对象

    List接口的常用实现类:ArrayList与LinkedList:

      ArrayListl类实现了可变的数组,允许保存所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问;缺点是向指定的索引位置插入对象或删除对象的速度较慢;

      LinkedList类采用了链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较高;但对于随机访问集合中的对象,使用LinkedList类实现List集合效率较低。

    3、Set接口

    Set集合中的对象不按特定的方式排序,只是简单地把对象加入集合中,但Set集合中不能包含重复的对象。Set集合由Set接口和Set接口的实现类组成。

    Set接口常用的实现类有:HashSet和TreeSet类:

      HashSet类由哈希表支持,它不保证Set的迭代顺序;

      TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序。

    4、Map接口

    Map集合提供的是key到value的映射。Map中不能包含相同的key,每个key只能映射一个value。key还决定了存储对象在映射中的存储位置。但不是由key对象本身决定的,而是通过一种“散列技术”进行处理,产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。

    Map集合包括Map接口以及Map接口的所有实现类。

  • 相关阅读:
    《转》MFC六大关键技术之(五)(六)——消息映射与命令传递
    《转》MFC六大关键技术之(四)——永久保存(串行化)
    《转》MFC六大关键技术之(三)——动态创建
    《转》MFC六大关键技术之(二)——运行时类信息(RTTI)
    《转》MFC六大关键技术之(一)—— 初始化过程
    C++ 语言的 15 个晦涩特性
    QT的项目管理文件pro的编写
    使用C++编写的一个Find(查找)对话框例子
    如何让Fedora能够打开RAR文件
    Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:问题解决方法
  • 原文地址:https://www.cnblogs.com/chamie/p/4705049.html
Copyright © 2020-2023  润新知