package com.dengpf.Lab;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Set;
/**
* Created by kobe73er on 16/11/19.
*/
public class MyHashMap
implements MyMap
{
private static int DEFAULT_INITAL_CAPACITY = 4;
private static int MAXIMUM_CAPACITY = 1 << 30;
private static float DEFAULT_MAX_LOAD_FACTOR = 0.75f;
private int capacity = 0;
private float loadFactor;
private LinkedList
>[] table;
private int size = 0;
public MyHashMap() {
this(DEFAULT_INITAL_CAPACITY, DEFAULT_MAX_LOAD_FACTOR);
}
public MyHashMap(int capacity) {
this(capacity, DEFAULT_MAX_LOAD_FACTOR);
}
public MyHashMap(int capacity, float loadFactor) {
if (capacity > MAXIMUM_CAPACITY) {
this.capacity = MAXIMUM_CAPACITY;
} else {
this.capacity = trimToPower(capacity);
}
table = new LinkedList[capacity];
this.loadFactor = loadFactor;
}
private int trimToPower(int initialCapacity) {
int capacitpy = 1;
while (capacitpy < initialCapacity) {
capacitpy <<= 1;
}
return capacitpy;
}
@Override
public void clear() {
size = 0;
removeEntries();
}
/**
* Remove all entries from each bucket
*/
private void removeEntries
自己实现的hashmap
最新推荐文章于 2023-01-01 22:39:20 发布