我必须读取文件并存储值,然后再进行查找。
例如,该文件将如下所示:
Gryffindor = 5
Gryffindor.Name.Harry = 10
Gryffindor.Name.Harry.Cloak.Black = 15
and so on...
我需要存储这些(我正在考虑一张地图)。稍后,我需要处理每个字符并查找此映射以为它们分配点。假设我遇到哈利,我知道他来自格兰芬多,而且他穿着蓝色斗篷。我将不得不将此地图(或我使用的任何对象)查找为
Gryffindor.Name.Harry.Cloak.Blue
哪个应该没有回报我。然后我需要回到名称和查找
Gryffindor.Name.Harry
应该给我一个10。
同样,如果我查找Ron,(假设他穿着黑色),
Gryffindor.Name.Ron.Cloak.Black
应该什么都不返回,回到
Gryffindor.Name.Ron
再没有,回到
Gryffindor
应返回5.
存储和读取此数据的优雅方式是什么?我正在考虑使用地图存储键值对,然后使用开关盒来读取它们。你会怎么做?
答案 0 :(得分:0)
Java有一个实现Map
的内置Properties
类,可以读写您描述的数据格式(请参阅该类的load()
和store()
方法)。
没有任何内容可以实现“回退到更高级别的密钥”功能,因此您需要编写一个方法,在Properties
实例中查找所需密钥下的数据,并保留如果找不到任何内容,则连续尝试相同密钥的较短版本。