如何将字符串拆分为带有值列表的映射? [英] How to split a string into a map with a list of values?

查看:89
本文介绍了如何将字符串拆分为带有值列表的映射?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am a bit stuck with my application, and I am not quite sure what to search for. So I am hoping someone here may help me out.

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

I have a list of Strings, that looks like this:

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

...等等.我想将此数据放入Map<String, List<String>>,其中CakePizza将构成我的Map中的键.将[carrot, apple, spicy]作为Cake的值,并且将[pepperoni, mozzarella]作为Pizza的值.

... and so on. I want to put this data into a Map<String, List<String>>, where Cake and Pizza will make up the keys in my Map. Having [carrot, apple, spicy] as Cake's values, and [pepperoni, mozzarella] as Pizza's values.

我该如何实现?预先感谢您的帮助.

How may I achieve this? Thanks in advance for any help.

推荐答案

只需使用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]);
}

这篇关于如何将字符串拆分为带有值列表的映射?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆