`
liuzhaomin
  • 浏览: 204340 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

HashMap初始化

 
阅读更多

 

public HashMap(int initialCapacity, float loadFactor) {
        if (initialCapacity < 0)
            throw new IllegalArgumentException("Illegal initial capacity: " +
                                               initialCapacity);
        if (initialCapacity > MAXIMUM_CAPACITY)
            initialCapacity = MAXIMUM_CAPACITY;
        if (loadFactor <= 0 || Float.isNaN(loadFactor))
            throw new IllegalArgumentException("Illegal load factor: " +
                                               loadFactor);

        // Find a power of 2 >= initialCapacity
        int capacity = 1;
        while (capacity < initialCapacity)
            capacity <<= 1;

        this.loadFactor = loadFactor;
        threshold = (int)(capacity * loadFactor);
        table = new Entry[capacity];
        init();
    }

 

public HashMap(int initialCapacity) {
        this(initialCapacity, DEFAULT_LOAD_FACTOR);
    }

 

/**
     * Constructs an empty <tt>HashMap</tt> with the default initial capacity
     * (16) and the default load factor (0.75).
     */
    public HashMap() {
        this.loadFactor = DEFAULT_LOAD_FACTOR;
        threshold = (int)(DEFAULT_INITIAL_CAPACITY * DEFAULT_LOAD_FACTOR);
        table = new Entry[DEFAULT_INITIAL_CAPACITY];
        init();
    }
 

 

 

分享到:
评论

相关推荐

    java在hashmap初始化时赋初值过程解析

    Java 在 HashMap 初始化时赋初值过程解析 Java 中的 HashMap 是一种常用的数据结构,一般用来做数据字典或者 Hash 查找的容器。在初始化并赋初值时,我们通常使用 `HashMap, Object&gt; map = new HashMap();` 的方式...

    java中hashmap容量的初始化实现

    "Java中HashMap容量的初始化实现" Java中HashMap容量的初始化实现是非常重要的,特别是在大规模数据处理时。HashMap的容量初始化可以极大地影响程序的性能。在本文中,我们将详细介绍Java中HashMap容量的初始化实现...

    举例详解Java编程中HashMap的初始化以及遍历的方法

    以下是HashMap初始化及遍历方法的相关知识点: 1. HashMap的初始化 HashMap的初始化是指创建一个新的HashMap对象,可以使用new操作符来实现。初始化时可以同时插入数据,有多种方法可以实现初始化: - 直接实例化...

    java提高篇(二三)-----HashMap.pdf

    - 当HashMap初始化时,会创建一个大小为2的n次幂的数组,以确保所有索引都能均匀分布。这个大小由初始容量决定,并且会调整到大于初始容量的最小2的n次幂。 4. **扩容机制** - 当HashMap的容量达到“阈值”(容量...

    尚硅谷大厂面试题第二季周阳主讲整理笔记

    在JDK1.7中,HashMap初始化时会创建一个长度为16的Entry数组,插入元素时通过计算key的hashCode确定在数组中的位置。如果位置已有元素,会形成链表。当链表长度超过8且数组长度大于64时,链表会转换为红黑树。扩容时...

    藏经阁-Java开发手册(泰山版)灵魂13问-117.pdf

    手册中提出了多个编程实践和注意事项,包括避免空指针异常、优化HashMap初始化、线程池创建、ArrayList操作、字符串拼接、日志使用、日期格式化、变量命名以及继承策略等方面的问题。 1. **三目运算符的空指针问题*...

    Java面试题集合部分.docx

    5. **HashMap初始化**:无参数构造函数在首次`put`时初始化数组,长度为16。带参数构造函数会根据传入值初始化最近的2的n次幂长度的数组。 6. **计算索引**:`HashMap`通过`key`的`hashCode`值进行异或和与运算来...

    Java中List与Map初始化的一些写法

    Java的在还没有发现新写法之前时,我一直是这么初始化List跟Map: //初始化List List list = new ArrayList(); list.add("string1"); list.add("string2"); //some other list.add() code…… list.add(...

    探讨Struts的初始化方法

    ### Struts框架初始化详解 #### 一、Struts框架简介 Struts是一个开源的MVC(Model-View-Controller)架构实现,用于简化Java Web应用的开发过程。它基于Servlet和JSP技术来构建Web应用程序,能够帮助开发者更加...

    Java源码角度分析HashMap用法

    HashMap是一个动态变长的数据结构,在使用HashMap的时候,为了提高执行效率,我们往往会设置HashMap初始化容量: ```java Map,String&gt; rm=new HashMap,String&gt;(2) ``` 或者使用guava的工具类Maps,可以很方便的创建...

    hashmap实现原理

    在Java中,HashMap的初始化涉及两个重要属性:initialCapacity(初始容量)和loadFactor(负载因子)。initialCapacity定义了HashMap的初始大小,而loadFactor定义了在何时进行扩容的阈值。默认情况下,...

    HashMap和HashTable的区别和不同

    - 如果初始化容量大于最大容量,则使用最大容量。 - **HashTable**: - 没有显式定义最大容量限制。 - 默认初始化容量为11,可以根据需要调整。 #### 结论 综上所述,`HashMap`和`HashTable`在多个方面存在...

    java7hashmap源码-AndroidOffer:只为帮助您获得更好的报价

    初始化传入的容量参数的值是就是 HashMap 实际分配的空间么 HashMp 的扩容机制是什么,什么时候扩容,每次扩多少 HashMap 的 get 过程是? HashMap 有什么缺点 谈谈你对再三列 rehash 过程的理解 多线程场景下如何...

    MAHOUT实战

    3. **HashMap初始化**:初始化`HashMap`时应指定初始容量,以减少扩容操作带来的性能开销。 - 示例: ```java Map, String&gt; map = new HashMap(16); ``` 4. **POJO类toString方法**:在自动生成的`toString`...

    hashmap使用实例

    1. **初始化**:可以无参数或指定容量和加载因子初始化HashMap。例如: ```java HashMap, String&gt; map = new HashMap(); HashMap, String&gt; map2 = new HashMap(16, 0.75f); ``` 2. **添加元素**:使用`put()`...

    基于JavaScript的HashMap实现

    1. **初始化**:构造函数可以接收初始容量和负载因子作为参数,用于设置HashMap的初始大小和何时进行扩容。 2. **插入**:`put(key, value)`方法允许我们将键值对插入HashMap中。如果键已经存在,则更新对应的值。 ...

Global site tag (gtag.js) - Google Analytics