用于 Java 中少量键值对的最佳集合



我目前正在创建一个石头剪刀布程序的原型,我需要以整数字符串格式存储选择。

就搜索速度和内存使用而言,使用哪个"最佳"集合?

前提是计算机将选择一个随机数,然后搜索键值对以找到适当的选择名称,以便稍后在程序中使用。

编辑:
澄清一下,集合中最多有 5 个键值对,整数作为键。

如果您的密钥Integer,则ArrayListHashMap

就可以了。

两者都是 O(1( 并且需要唯一的键。

否则,如果它们是StringHashMap只适合。

HashMap将是最好的。 get()具有O(1)时间复杂性。O(1(表示与元素数量无关,即常数。

如果你需要一个Map而你不需要一个SortedMapHashMap几乎总是正确的选择。

请注意,HashMap 的一个构造函数有一个参数,告诉它映射的初始大小。构造函数将使用它来为映射分配合理的内存量,如果映射的大小可能小于默认大小(即 16(,这将很有帮助。

我建议这是一个使用enum s和EnumMap的绝佳机会,该完全针对您正在考虑的场景进行了优化 - 即一组离散的可能键。

最新更新