用于字符串分组的动态类创建

时间:2016-02-17 13:50:49

标签: java

以下是我想解决的问题草图:

  • 我需要将另外一个字符串分组,以便有一种方法可以将新字符串包含在这个“组”中
  • 必须是动态的:我从文件中读取这些字符串并动态创建组

示例:

输入文件:

ANIMAL: DOG CAT BIRD
PERSON: CLAIRE DEMETRIOS NEIL
ANIMAL: CROCODILE BUTTERFLY

我需要创建一个名为ANIMAL的“组”(不知道一个类或一个结构是否更好)(由代码动态执行)并在其中包含五个动物,考虑到我们是处理文本字符串。

我正在寻找一种方法来对这些字符串进行分类,我想知道最简单,最有效的方法是什么:类?结构?超弦?

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用String键定义Map,使用

定义List值
HashMap<String, List<String>> hashmap = new HashMap<String, List<String>>();

List<String> arraylist = new ArrayList<String>();
arraylist.add("Hello");
arraylist.add("World.");

//Put list to a group
hashmap.put("mykey", arraylist);

//Dynamically add element to a group
hashmap.get("mykey").add("Everyone");

//Retrieve all element of a group
List<String> list = hashmap.get("mykey");
System.out.println(list);

这将输出:

[Hello, World., Everyone]

更新

根据Carlos的评论,您可以使用简单的if-else块来动态创建列表。例如 -

if (hashmap.containsKey("person")) {
  hashmap.get("person").add("Emdadul");
} else {
  List<String> lst = new ArrayList<String>();
  lst.add("Emdadul");
  hashmap.put("person", lst);
}

我希望它能解决你的问题。其余的逻辑应由你实施。