小编Dan*_*l K的帖子

此示例中有关HashMap哈希算法的说明

我正在尝试解决这个问题:

给定只有3个唯一数字的整数数组,它们会在O(n)时间中按升序(以及它们各自的频率)打印数字。

我想不使用counting sort算法来解决它,所以我想我可以做一个,for loop然后将数字插入a HashMap,然后loop通过HashMap entrySet并打印所需的信息。

这是函数:

public static void printOut(int[] arr){
        Map<Integer,Integer> hm=new HashMap<Integer,Integer>();
        for(int num : arr){
            if(hm.containsKey(num)){
                hm.put(num,hm.get(num)+1);
            }else{hm.put(num,1);}
        }
        for(Map.Entry<Integer,Integer> entry : hm.entrySet()){
            System.out.println("Key= "+entry.getKey()+" Value= "+entry.getValue());
        }
}
Run Code Online (Sandbox Code Playgroud)

当我的数组是时,这就是窍门: [3, 3, 2, 1, 3, 2, 1]

但是上面的数组不应导致任何冲突,因此我尝试使用应该导致冲突的数组,我测试过我的函数的数组之一是:[6,6,9,9,6,3,9]但是我的函数仍然Keys按升序打印,这让我感到困惑,因为我以为当的Keyof HashMap是一个整数时,哈希码应该是hashIndex = key % noOfBuckets这样,当我有数字时6, 9 and 3,我HashMap keys以为会发生冲突,并且我的函数应该打印(基于上面使用的数组):

Key= 6 Value= 3
Key= 9 …
Run Code Online (Sandbox Code Playgroud)

java hashmap hashcode collision

5
推荐指数
1
解决办法
316
查看次数

将文件发送到多个服务器

我正在远程Windows服务器上的一个Web项目(使用.Net框架构建)上,该项目已连接到数据库my SQL server management studio,现在在其他多个远程Windows服务器上,存在一个链接到同一数据库的同一个Web项目,现在我更改项目中页面的代码或添加/删除数据库中的tablestored procedure,是否有办法(或已经存在的软件)将我对所有其他人所做的更改部署(或选择多个服务器)如果我不想将更改部署到所有更改)?

server

3
推荐指数
1
解决办法
171
查看次数

如何修复我的 Maven 项目中的 mysql 版本

我已经下载了 wampp 服务器,它表明我的 MySQL 版本是 5.7.24,但是每当我尝试在我的 maven 项目(在 pom.xml 中)中指定该版本时,它都会显示我无法使用该版本: 在此输入图像描述

我该如何修复它?

java mysql maven

1
推荐指数
1
解决办法
407
查看次数

标签 统计

java ×2

collision ×1

hashcode ×1

hashmap ×1

maven ×1

mysql ×1

server ×1