• 集合框架


    java中的集合(广义)即collection(狭义)和map

    Collection

    Iterable: 只有Iterator和foreach方法

    collection:集合(又称为容器)他与array的不同在于array容量固定,而它可保存一个可以动态增长的数据,注意它是一个接口,不能实例化,继承自Iterable

    set: 无序号,故不能有重复数据

    list: 有序,可存在重复数据,每个元素都有索引

    queue: 保持先入先出的顺序

    备注: 他们都是接口

    --------------------------------------------------------------------------------------------------

    接下来介绍一下常用的实现类:

    List

    ArrayList

    传说中的动态数组,顾名思义,是一种基于数组的数据结构

    特点:初始大小为4,当数据存满时扩容为当前数组容量的两倍,即创建一个当前数组两倍大小的数组,然后把数组元素一个一个地存入

    LinkedList

    基于链表的数据结构,而且是双向链表

    对比:

    ArrayList随机访问效率高,linkedList得移动指针,效率相对低

    linkedList增删效率高,ArrayList得移动数据

    备注: 链表是一种物理存储单元上非连续、非顺序的存储结构,逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据的数据域,另一个是存储下一个结点地址的指针域。 

    Vector类似于ArrayList,区别在于他是线程安全的,即任意时刻都只有一个线程访问,相对的,访问他的速度比ArrayList慢

    Set

    hashSet

    基于hash表,元素可为null

    不可重复,无序

    linkedHashSet

    基于链表和哈希表

    有序

    treeSet

    基于红黑树算法

    有序

    ---------------------------------------------------------------------------------------------

    Map

    主要实现类为:

    HashMap

    HashTable

     

    linkedHashMap

     

    TreeMap

    Map与set的关系:

    Set集合就是由Map集合的Key组成

  • 相关阅读:
    属性绑定与双向数据绑定
    vue基础
    tp5提交留言入库
    tp5表单提交
    TP5分页
    TP5模板与数据组合
    vue3.x使用Proxy做双向数据绑定总结
    vue2.x响应式原理总结
    HTML5移动端自适应解决方案
    springMVC实现文件上传
  • 原文地址:https://www.cnblogs.com/yanze/p/9669187.html
Copyright © 2020-2023  润新知