哈希表的常用操作

import java.util.HashMap;

public class HashTableUse {
   
    //java是HashMap,python是字典,是键值对,是key-value
    //key通过哈希函数,确定一块内存地址,存放key/value
    //哈希碰撞:不同key,通过哈希函数得到同一个内存地址,通过链表的方法,将后一个key/value链在上一个key/value后面,是另一块内存地址,通过next指针链接
    public static void main(String[] args) {
   
        //1、用数组创建哈希表
        System.out.println("1、创建哈希表");
        String[] hashTable = new String[4];
        //1、用HashMap创建哈希表
        HashMap<Integer, String> map = new HashMap<>();
        //2、增加元素,时间复杂度O(1)
        System.out.println("2、增加元素");
        hashTable[1]="hanmeiemei";
        hashTable[2]="lihua";
        hashTable[3]="siyangyuan";
        for (int i = 0; i < hashTable.length; i++) {
   
            System.out.println(hashTable[i]);
        }

        map.put(1,"hanmeimei");
        map.put(2,"lihua");
        map.put(3,"siyangyuan");
        System.out.println(map);
        //3、更新元素
        System.out.println("3、更新元素");
        hashTable[1]="bishi";
        for (int i = 0; i < hashTable.length; i++) {
   
            System.out.println(hashTable[i]);
        }

        map.put(1,"bishi");
        System.out.println(map);
        //4、删除元素
        System.out.println("4、删除元素");
        hashTable[1]="";
        for (int i = 0; i < hashTable.length; i++) {
   
            System.out.println(hashTable[i]);
        }
        map.remove(1);//通过键移除
        System.out.println(map);
        //5、获取元素
        System.out.println("5、获取元素");
        String temp = hashTable[3];
        System.out.println(temp);

        map.get(3);//通过键获取
        System.out.println(map.get(3));
        //6、检查元素是否存在
        System.out.println("6、检查元素是否存在");
        System.out.println(map.containsKey(3));
        System.out.println(map.containsValue("hanmeimei"));

        //7、长度以及是否还有元素
        System.out.println("长度以及是否还有元素");
        System.out.println(map.size());
        System.out.println(map.isEmpty());
    }



}

运行结果: