我在用Java设计的这款小型游戏的功能之一的数组,arraylist或列表之间进行选择时遇到麻烦。我不仅限于这三个,这些只是我所知道的。
功能是,只要达到一定数量的点数,播放器就会解锁特定的文本/按钮。因此,我想存储一个包含两点集合的“列表”。一个点给出了所需的点数,第二个点是字符串或其他可以解锁的东西。
为此,我倾向于使用普通的旧二维数组,但决定将其发布在这里,以便获得更多意见。
答案 0 :(得分:3)
如果两个值链接在一起,我将使用HashMap
来存储这些值。这使您可以轻松访问相应的值。示例:(假设与成就关联的点是int
,而成就是String
)
HashMap<Integer, String> hashmap = new HashMap<>();
assignments.put(18, "New Achievement");
//Etc
18
是点数,New Achievement
是用户已解锁的成就。
如chrylis所说,如果值是连续的,NavigableMap
将是一个不错的选择。
NavigableMap
的好tutorial