Java - 使用Map / HashMap将描述映射到单词

时间:2014-01-05 00:00:13

标签: java dictionary

我正在开展一个小项目,我希望在其中发生以下情况:我希望能够以这样的方式对文字进行描述,以便我以后能够获得这两种信息。使用String数组似乎很费时,而且,按照我正在解释我正在阅读的内容的方式,使用下面的代码只给出了第二个书面信息,即“示例说明。”,因为它将第二个值映射到第一个“值”(这是一个“键”)。

Map<String, String> exampleDictionaryThing = new HashMap<String, String>() {{
    put("Example Word", "Example Description.");
}};

只是为了确保我理解,因为英语不是我最好的语言,我正在尝试制作一堆类似字典的东西,我可以抓住这两条信息,这两件信息作为一个单词和一个描述,但做一堆字符串数组将A)花费大量的时间和B),在我看来,这是一个非常低效的方式来解决这个问题。

有人有什么想法吗?

更新#1

我知道我的措辞会引起混淆;对不起xD。从我读到的关于我如何处理的内容来看,我上面给出的代码行只允许我访问“示例描述”。如果我调用get()函数,则行。我需要的是存储两个字符串并允许我访问两个(希望)而不使用String数组。我的问题是:我将如何以这种方式存储两个字符串?

2 个答案:

答案 0 :(得分:1)

如果你有

    HashMap<String, String> mp = new HashMap<String, String>();

已正确填充(基本上以您描述的方式),您可以执行以下操作以迭代它(这样您在循环中同时拥有键和值):

    for (String word : mp.keySet()){
        System.out.println("Word: [" + word + "]; Word Description: [" + mp.get(word) + "].");
    }

答案 1 :(得分:0)

如果你想“稍后再获取两条信息”,也许你应该看看Guava的BiMap。此数据结构将允许您恢复给定单词或相反的描述。

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/BiMap.html