Java:少量键值对的最佳集合

时间:2014-08-19 12:56:59

标签: java collections

我目前正在创建Rock,Paper Scissors程序的原型,我需要以整数/字符串格式存储选择。

在搜索速度和内存使用方面,使用什么“最佳”集合?前提是计算机将选择一个随机数,然后搜索键值对以找到适当的选择名称,以便稍后在程序中使用

编辑:

为了澄清,集合中最多将有5个键值对,以整数作为键

根据评论进一步澄清。我正在为少量配对(最多5个)寻找一个键/值集合

4 个答案:

答案 0 :(得分:5)

如果您的密钥为ArrayList,则HashMapInteger会没问题。

两者都是O(1)并期望唯一的密钥。

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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

如果您需要Map并且不需要SortedMapHashMap几乎总是正确的选择。

请注意HashMap的{​​{3}}有一个参数告诉它地图的初始大小。构造函数将使用它为地图分配合理数量的内存,如果地图的大小可能小于默认大小(one of the constructors),这将非常有用。

答案 3 :(得分:0)

我建议这是一个使用enumEnumMap的绝佳机会,它会针对您正在考虑的场景进行优化 - 即一组离散的可能键。