最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java設(shè)計哈希映射的方法

 更新時間:2025年05月15日 14:40:54   作者:真真最可愛  
這篇文章主要介紹了Java設(shè)計哈希映射的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

設(shè)計哈希映射

class MyHashMap {
    class Node{
        int key;
        int value;
        Node next;
        public Node(int key, int value){
            this.key= key;
            this.value=value;
        }
    }
    private Node [] buckets;
    int size;
    public MyHashMap() {
        size=0;
        buckets =new Node[16];
    }
    public void put(int key, int value) {
        //用key直接代表hashcode(),%bucket.length能保證不會溢出
        int index = key %buckets.length;
        Node head =buckets[index];
        //只要頭節(jié)點不為空,就一種找下去
        while(head != null && head.key != key){
            head =head.next;
        }
        //找到相同key
        if(head != null ){
            head.value=value;
        //不存在這個key,用的是頭插法
        }else{
            Node newnode =new Node(key,value);
            newnode.next=buckets[index];
            buckets[index] =newnode;
            size++;
        }
    }
    public int get(int key) {
        int index= key % buckets.length;
        Node head =buckets[index];
        while(head != null && head.key != key){
            head=head.next;
        }
        return  head == null ? -1 : head.value;
    }
    public void remove(int key) {
        int index= key % buckets.length;
        Node head =buckets[index];      
        //創(chuàng)建兩個臨時變量,如果只有一個臨時變量,則最后不能給bucket[index]進行賦值
        Node dummy= new Node(0,0);
        Node cur=dummy;
        dummy.next=head;
        while(cur.next != null && cur.next.key != key){
            cur=cur.next;
        }     
        if(cur.next!=null && cur.next.key == key){
            cur.next=cur.next.next;
            size--;
        }   
        buckets[index] =dummy.next;
    }
}
/**
 * Your MyHashMap object will be instantiated and called as such:
 * MyHashMap obj = new MyHashMap();
 * obj.put(key,value);
 * int param_2 = obj.get(key);
 * obj.remove(key);
 */

到此這篇關(guān)于Java設(shè)計哈希映射的方法的文章就介紹到這了,更多相關(guān)java哈希映射內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

长汀县| 商河县| 雅安市| 青川县| 博兴县| 冀州市| 大同县| 岑巩县| 贵溪市| 云浮市| 礼泉县| 上杭县| 定兴县| 大同县| 长顺县| 金昌市| 白水县| 庆阳市| 武山县| 沧源| 阿尔山市| 房山区| 嵩明县| 马龙县| 象山县| 奉化市| 叙永县| 防城港市| 鹤壁市| 漳浦县| 江达县| 松溪县| 革吉县| 平乐县| 陵川县| 鄯善县| 凤山县| 望江县| 墨江| 南华县| 项城市|