Java集合:集合框架:集合中存储对象的bucket越少越好,还是bucket越多越好?

Java集合:集合框架:集合中存储对象的bucket越少越好,还是bucket越多越好?,java,collections,equals,hashcode,Java,Collections,Equals,Hashcode,这里我只想问一个我在Java采访中遇到的问题。 这个问题就像hashmap是如何工作的。我解释并回答了以下所有问题。但我只回答了一个问题,那就是: 集合中有更多的对象还是更少的对象更好?为什么?请在这里帮助我查看您的视图Best HashMap=唯一ID-一个对象一个bucket-当您知道密钥时最快访问对象。@user2310289:我告诉他们,最好使用更合适的hashcode方法,以便每次都能生成唯一的hash代码,并为每个对象创建新bucket。但是在这种情况下另一种方法是,如果我们开发ha

这里我只想问一个我在Java采访中遇到的问题。 这个问题就像hashmap是如何工作的。我解释并回答了以下所有问题。但我只回答了一个问题,那就是:
集合中有更多的对象还是更少的对象更好?为什么?请在这里帮助我查看您的视图

Best HashMap=唯一ID-一个对象一个bucket-当您知道密钥时最快访问对象。

@user2310289:我告诉他们,最好使用更合适的hashcode方法,以便每次都能生成唯一的hash代码,并为每个对象创建新bucket。但是在这种情况下另一种方法是,如果我们开发hashcode方法,它将为所有对象返回相同的hashcode,那么使用equals方法在单个bucket中搜索对象也会花费更多的时间。在讨论之后,最终结论是,我们不应该为每个对象使用单独的bucket而且只有一个存储桶也没有效率。@Rohan:存储桶的数量要大到足以让某些存储桶未使用,这通常是有帮助的,但不能完全不成比例。许多计算机的缓存空间有限,因此拥有一个包含256个存储桶的哈希表(其中一些存储桶包含六个项目)可能比一个包含1048576个存储桶(其中绝大多数存储桶没有项目,并且没有一个存储桶超过一个)的哈希表的性能要好,特别是在查找表中没有的多个项目时。但是如果一个对象有一个bucket,那么搜索特定哈希代码的bucket也会花费时间,因为可能会有大量的bucket呈现。无需搜索-哈希映射通过哈希代码为您提供对bucket的即时访问,就像数组索引一样。好的……谢谢,我不知道这个即时访问的概念。