【HashMap JDK 1.7】コンストラクタ

6713 ワード

文書ディレクトリ
  • 構造関数
  • 指定`initialCapacity`と`loadFactor`
  • 指定`initialcapacity`
  • 無パラメトリック構造
  • 指定Map
  • 翻訳元java.util.HashMap JDK1.7 HashMapAPIのすべての翻訳は、翻訳ディレクトリを参照してください.
    コンストラクタ
    指定initialCapacityおよびloadFactor指定された初期容量とロードファクタを使用して、空の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);
    
            this.loadFactor = loadFactor;
            threshold = initialCapacity;
            init();//    ,     ,  LinkedHashMap 。      
        }
    

    指定initialcapacity指定した初期容量とデフォルトのマウント係数(0.75)を使用して、空のHashMapを構築します.
        public HashMap(int initialCapacity) {
            this(initialCapacity, DEFAULT_LOAD_FACTOR);
        }
    

    パラメトリック構造
    指定された初期容量(16)とデフォルトのマウント係数(0.75)を使用して、空のHashMapを構築します.
    public HashMap() {
        this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);
    }
    

    Mapの指定
    指定したMapと同じマッピングを使用して、新しいHashMapを構築します.このHashMapを作成する場合、デフォルトのマウントファクタ(0.75)と指定したMapのマッピングの初期容量を格納するのに十分な値(sufficient to)を使用します.
        public HashMap(Map<? extends K, ? extends V> m) {
            this(Math.max((int) (m.size() / DEFAULT_LOAD_FACTOR) + 1, //       
                          DEFAULT_INITIAL_CAPACITY), DEFAULT_LOAD_FACTOR); //         
            inflateTable(threshold);
    
            putAllForCreate(m);
        }