• java常见集合笔记


    集合的分类:

    List集合:有序、可重复、可为空

    ArrayList:基于数组实现,线程不安全,不适和频繁插入、修改 、删除,存储后遍历效率高

    Vecotr:基于数组实现,同步(线程安全),不适和频繁插入、修改 、删除

    LinkList:基于链表,采用双向链表结构,线程不安全,适合频繁插入、修改、删除

    Set集合:无序、不可重复

    HashSet:基于哈希表(HashMap)、不允许重复、可以有一个NULL元素、不保证数据恒久不变

        添加元素时把元素作为HashMap的key,HashMap的value使用一个固定的Object对象,无序

    TreeSet:基于TreeMap(二叉树数据结构),对象需要比较大小,通过对象比较器来实现,

        对象比较器还可以去除重复,如果自定义的数据类没有实现比较器接口将无法添加到集合,排序

    LinkHashSet:基于链表和哈希表,有序

    Map集合:

    HashMap:线程不安全,key和value允许为空(底层原理见 https://www.cnblogs.com/wenbiquan/p/11061194.html),HashMap中hash数组的默认大小是16,而且一定是2的指数。

    HashTable:基于哈希表(链表+数组)key和value不能为空,线程安全, HashTable中hash数组默认大小是11,增加的方式是 old*2+1

    LinkHashMap:HashMap的子类,使用了双重链表,保证了数据的有序

  • 相关阅读:
    JVM垃圾回收机制
    浅谈类的几个基础构造函数
    三次登陆用户名 和密码
    干迷宫
    记录人生中的第一个bug
    js三元运算符? :
    Linux云服务器 磁盘分区失败
    python基础中遇到的问题(TypeError: unhashable type: 'list')
    python亲密数设计
    源码编译安装Protobuf
  • 原文地址:https://www.cnblogs.com/wenbiquan/p/11084370.html
Copyright © 2020-2023  润新知