java - 如何将字符串拆分为包含值列表的映射?

标签 java list dictionary

我对我的应用程序有点困惑,并且不太确定要搜索什么。所以我希望这里有人可以帮助我。

我有一个列表 String s,看起来像这样:

Cake;carrot
Cake;apple
Cake;spicy
Pizza;pepperoni
Pizza;mozzarella

...等等。我想把这些数据放入 Map<String, List<String>> ,其中CakePizza将在我的Map中补上 key 。有[carrot, apple, spicy]Cake的值,和 [pepperoni, mozzarella]Pizza的值(value)观。

我怎样才能实现这个目标?预先感谢您的帮助。

最佳答案

只需使用String.split()迭代您的列表

ArrayList<String> myList;
HashMap<String, List<String>> myMap = new HashMap<>();
for(String s : myList)
{
   String[] split = s.split(";");
   List<String> bucket = myMap.get(split[0]);
   if(bucket == null) 
   {
       bucket = new ArrayList<String>();
       myMap.put(split[0], bucket);
   }

   bucket.add(split[1]);
}

关于java - 如何将字符串拆分为包含值列表的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36740710/

相关文章:

java - BigDecimal 精度问题?

java - 代码被重定向到移动网站

list - Prolog - 寻找替代词(同义词)

python - 有没有办法通过将 unicode 字符串转换为其他编码来打印出由 unicode 字符串组成的字典?

python - 使用正则表达式分组将字符串转换为字典

python - 如何遍历所有字典组合

java - 将方法的返回值声明为公共(public)父类(super class)型

java - 多项 Activity 和表面 View 是正确的方法吗?

list - Prolog - 提取子列表

python - 循环比较字符串列表元素与字符串列表子元素的有效方法