0

我必须读取文件并存储值,然后再进行查找。

例如,该文件将如下所示:

Gryffindor = 5
Gryffindor.Name.Harry = 10
Gryffindor.Name.Harry.Cloak.Black = 15
and so on...

我需要存储这些(我在想一张地图)。稍后,我需要处理每个字符并查找此地图以分配它们点。假设我遇到哈利,我知道他来自格兰芬多,他穿着一件蓝色斗篷。我将不得不查找此地图(或我使用的任何对象)作为

Gryffindor.Name.Harry.Cloak.Blue

这不应该给我任何回报。然后我需要退回到名称和查找

Gryffindor.Name.Harry

那应该给我一个10。

同样,如果我查找罗恩,(假设他穿着黑色),

Gryffindor.Name.Ron.Cloak.Black

应该什么都不返回,退回到

Gryffindor.Name.Ron

再次没有,回退到

Gryffindor

应该返回 5。

存储和读取这些数据的优雅方式是什么?我正在考虑使用映射来存储键值对,然后使用 switch case 来读取它们。你会怎么做?

4

1 回答 1

0

Java 有一个内置Properties类,它实现Map并且可以读取和写入您描述的数据格式(请参阅该类的load()store()方法)。

那里没有任何东西可以实现您的“回退到更高级别的密钥”功能,因此您需要编写一个方法来在Properties实例中查找所需密钥下的数据,并不断尝试连续尝试相同密钥的较短版本如果它什么也没找到。

于 2013-11-09T22:32:47.750 回答