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

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

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

設(shè)計(jì)哈希映射

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能保證不會(huì)溢出
        int index = key %buckets.length;
        Node head =buckets[index];
        //只要頭節(jié)點(diǎn)不為空,就一種找下去
        while(head != null && head.key != key){
            head =head.next;
        }
        //找到相同key
        if(head != null ){
            head.value=value;
        //不存在這個(gè)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)建兩個(gè)臨時(shí)變量,如果只有一個(gè)臨時(shí)變量,則最后不能給bucket[index]進(jìn)行賦值
        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è)計(jì)哈希映射的方法的文章就介紹到這了,更多相關(guān)java哈希映射內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

罗平县| 凌海市| 怀安县| 明水县| 德钦县| 武义县| 四平市| 巴彦县| 土默特右旗| 遵化市| 卫辉市| 绍兴县| 凉城县| 河曲县| 石台县| 平度市| 满洲里市| 五河县| 婺源县| 宿迁市| 石渠县| 威信县| 永安市| 得荣县| 玉溪市| 包头市| 余姚市| 洛阳市| 临高县| 六安市| 洪湖市| 玉龙| 昭苏县| 新乡市| 陕西省| 敖汉旗| 林西县| 海伦市| 奇台县| 隆回县| 保德县|