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

  • 相关阅读:
    i=i+2 与i+=2
    如何浏览github上所有的公开的项目?
    在ubuntu怎样修改默认的编码格式
    链式结构实现堆排序
    直接插入排序的哨兵的作用
    lk进kernel
    比劫劫财引发的灾如何化解呢?
    java:Map借口及其子类HashMap二
    java:Map借口及其子类
    java:集合输出之foreach输出三
  • 原文地址:https://www.cnblogs.com/hwu2014/p/4529789.html
Copyright © 2011-2022 走看看