Java 如何创建动态列表<;字符串>;

Java 如何创建动态列表<;字符串>;,java,Java,我正在尝试动态创建一个列表 我试图动态创建列表,但它不允许创建动态列表 int length = masterList.size(); for (int i = 0; i < length; i++) { for (Map.Entry < String, Object > entry: masterList.get(i).entrySet()) { if(entry.getKey().startsWith("tag_")) {

我正在尝试动态创建一个列表

我试图动态创建列表,但它不允许创建动态列表

int length = masterList.size();
for (int i = 0; i < length; i++) 
{
    for (Map.Entry < String, Object > entry: masterList.get(i).entrySet()) 
    {
        if(entry.getKey().startsWith("tag_"))
        {
            ArrayList<String> entry.getKey() = new ArrayList();
            tagDataList = Arrays.asList(entry.getValue().toString().split(","));
            for (String string : tagDataList) 
            {
                entry.getKey().add(string);
            }
        }
     }
}
所需输出:

{
 "tag_fuse_type": [
  "tag_1",
  "tag_2"
 ]
}
if(entry.getKey().startsWith(“tag_”)){
ArrayListlist=新建ArrayList();
tagDataList=Arrays.asList(entry.getValue().toString().split(“,”);
for(字符串:tagDataList){
list.add(字符串);
}
tagsMap.put(entry.getKey(),list);
}
Map newMap=newhashmap();
对于(Map.Entry:masterList.entrySet()){
列表值=新建LinkedList();
if(entry.getKey().startsWith(“tag_”)){
String[]words=entry.getValue().split(“,\\s*”);
集合。addAll(值、单词);
}否则{
add(entry.getValue());
}
newMap.put(entry.getKey(),value);
}

不应该更改映射的类型,因此需要创建一个新映射。

您正在尝试解析JSON吗?您所说的不允许的确切含义是什么?问题、错误消息或意外结果是什么?您能否解释问题的这一部分“它不允许创建动态列表”?另外,您当前得到的输出是什么?@deHaar它说赋值的左侧必须是一个变量this:
ArrayList entry.getKey()=new ArrayList()无效
{
 "tag_fuse_type": [
  "tag_1",
  "tag_2"
 ]
}
if (entry.getKey().startsWith("tag_")) {
    ArrayList < String > list = new ArrayList();
    tagDataList = Arrays.asList(entry.getValue().toString().split(","));
    for (String string: tagDataList) {
        list.add(string);
    }
    tagsMap.put(entry.getKey(), list);
}
Map<String, List<String>> newMap = new HashMap<>();
for (Map.Entry<String, String> entry : masterList.entrySet()) {
    List<String> values = new LinkedList<>();
    if (entry.getKey().startsWith("tag_")) {
        String[] words = entry.getValue().split(",\\s*");
        Collections.addAll(values, words);
     } else {
        values.add(entry.getValue());
     }
     newMap.put(entry.getKey(), values);
}