zoukankan      html  css  js  c++  java
  • 容器相关

    一.HashMap的实现机制

      1.HashMap是基于哈希表的map接口的非同步实现。HashMap相当于一个数组,数组的每个元素为一个链表。

      2.向HashMap中插入一个Entry时,先计算Key的hashcode,根据hashcode确定Entry在数组中的位置,再根据equals判断是否存在重复元素。查找也类似

      3.HashMap允许Null的K和Null的V。

      4.HashMap初始化时允许指定 数组的初始化大小 和 加载因子。当元素个数>数组*加载因子时,HashMap需要扩容,扩容后需要重新分配元素的位置,性能较差

    二.ConcurrentHashMap

      1.HashMap适用于单线程;Hashtable适用于多线程,但性能不高,同一时刻能被一个线程使用

      2.ConcurrentHashMap与Hashtable类似。区别在于,HashTable锁的是整个table,而ConcurrentHashMap锁的是segment(表的一个位置)

    三.ArrayList的内部实现

      1.ArrayList是可扩展的数组

      2.ArrayList不适合频繁插入和删除的操作,LinkedList适合

    四.容器的基本分类

      Collection:List,按照顺序存储元素;Set,不插入重复元素;Queue,按照队列的方式确定对象产生顺序

      Map:一组成对的<key,value>对象,可以用key查找value

  • 相关阅读:
    C++对象模型
    C/C++内存结构
    第一篇
    Goodbye Steve(19552011)
    DirectX学习笔记_关于Sprite.Draw2D的说明
    Goodbye World!
    js把一个数组的数据平均到几个数组里面
    Django model字段类型清单
    Golang中间件——goredis操作Redis
    Python开发一个短网址生成器
  • 原文地址:https://www.cnblogs.com/hwu2014/p/4529789.html
Copyright © 2011-2022 走看看