zoukankan      html  css  js  c++  java
  • 第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接口的所有实现类。

  • 相关阅读:
    [archlinux][plasma][screensaver] plasma5配置屏保程序,没成功(-_-#)
    [skill][https][ssl/tls] HTTPS相关知识汇总
    [dpdk][kernel][driver] 如何让DPDK的UIO开机自动加载到正确的网卡上
    [archlinux] linux boot process/order/stage
    [potatos][flex][TBC] 语义分析词法分析 flex
    [daily][tcpdump][bpf] 如何用tcpdump抓到一个分片包
    [daily][dpdk] 网卡offload识别包类型;如何模拟环境构造一个vlan包
    [skill][c] *(char**)
    [apr] Apache Portable Runtime
    [skill] mmap / fwrite / write linux磁盘读写的分层结构
  • 原文地址:https://www.cnblogs.com/chamie/p/4705049.html
Copyright © 2011-2022 走看看