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

fumotvh3  于 2023-03-16  发布在  Java
关注(0)|答案(4)|浏览(87)

我目前正在创建一个石头剪刀布程序的原型,我需要以整数字符串格式存储选择。
就搜索速度和内存使用量而言,什么是“最佳”集合?
前提是计算机将选择一个随机数,然后搜索键-值对,以找到适当的选择名称,以便稍后在程序中使用。
编辑:
为了澄清,集合中最多有5个键-值对,键为Integers。

qxgroojn

qxgroojn1#

如果您的键是Integer,则ArrayListHashMap将是合适的。

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

否则,如果它们是String,则只有HashMap适合。

oo7oh9g9

oo7oh9g92#

HashMap将是最好的一个,get()具有O(1)的时间复杂度,O(1)意味着与元素数目无关,即常数。

kuarbcqp

kuarbcqp3#

如果您需要Map而不需要SortedMap,那么HashMap几乎总是正确的选择。
注意,HashMap的一个构造函数有一个参数告诉它map的初始大小,构造函数将使用该参数为map分配合理的内存量,如果map的大小可能小于默认大小(16),这将非常有用。

h9vpoimq

h9vpoimq4#

我认为这是使用enumEnumMap的绝佳机会,EnumMap完全针对您正在考虑的情况进行了优化-即一组离散的可能按键。

相关问题