问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java Map集合中存放不同的Key 且key 对应多个不同的值??

发布网友 发布时间:2022-05-16 17:14

我来回答

5个回答

热心网友 时间:2023-11-04 22:29

List<String> list = new ArrayList<String>();

list.add("node1-a1");
list.add("node2-a1");
list.add("node3-a1");
list.add("node1-a2");
list.add("node2-a2");
list.add("node3-a2");
list.add("node1-a3");
list.add("node2-a3");
list.add("node3-a3");

Map<String, List<String>> map = new HashMap<String, List<String>>();

for(String string : list){
String node = string.split("-")[0];
String value = string.split("-")[1];

if(map.containsKey(node)){
List<String> list2 = map.get(node);
list2.add(value);
map.put(node, list2);
}else{
List<String> list2 = new ArrayList<String>();
list2.add(value);
map.put(node, list2);
}

}来自:求助得到的回答

热心网友 时间:2023-11-04 22:29

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args){
Map<String ,List<String>> map = new HashMap<String ,List<String>>();//存放类型的map
List l1 = new ArrayList();//假设这是你的list
List<String> l2 = new ArrayList<String>();//假设这是你的note节点集合
for(int i =0;i<l2.size();i++){
map.put(l2.get(i), l1);//存放键值
}
Iterator iter = map.entrySet().iterator();
while(iter.hasNext()){
Map.Entry entry = (Map.Entry)iter.next();
System.out.println(entry.getKey()+"======》"+entry.getValue());
}
}
}
大致就是这样子的。我不清楚你前面节点和值是怎么存放的。我就假设了两个值。你按照这种思路可以自己试试~~相信你可以做出来的。加油

热心网友 时间:2023-11-04 22:30

很简单呀,就是循环list,把list中的每个元素取出来,获得节点名和节点值,用map.get(节点名)。判断在map中有没有这个节点,如果返回的list为空就表示没有这个结点,new List对象,把节点值放到list中,然后再map.put(节点名,list);如果返回的list不是空表示map中已经有这个节点了,将节点值放到list中,然后再map.put(节点名,list);

热心网友 时间:2023-11-04 22:31

思路很简单,就是获取node名,取出对应的value,根据循环,插入到不同的map中。你可以简单地把node的名字存到数组里面,然后循环得出,条件判断不同的node名,插入到不同的map中,这样的思想比较简单。

热心网友 时间:2023-11-04 22:31

2361004892加这个,方便交流
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 将军调戏自己的妻子的戏码。类似于阅微草堂的一个故事。 什么是抗浮式地埋式箱泵一体化 java有没有把map根据key转换为对象的列名 景观设计的应该看的书籍 清朝才子纪晓岚历史上有没有这个人? 什么样的应用有杂项功能设置? 园林方面的期刊杂志书籍,着重于植物造景的 如何形容花好看的句子 易受骗的英语怎么说 Bust-out fraud 的中文怎么说 negotiable; instrumental ; fraudulent; 这英语用谐音怎么读?. 骗子用英语怎么说 “马”+“扁”,怎么念? “说谎者”用英语怎么说? fraud,disclosure,vulnerable怎么读,什么意思 fraud音标[fr&#x0254;d]中音标&#x0254;为什么读成a的音呀? 华为09定位怎么关闭不了 还能用 华为N0v09为什么是4G 刺客在大唐时期特别多,这和当时的局势有关系吗? 万王之王3 游侠 杀手加点 纪晓岚是谁 在那旅游好 java怎样判断map里包含某个字符串? 干式变压器、埋地式变压器、隔离变压器的作用与区别? java, map,如何实现当读入的key发生重复时,只保留重复key的第一行? &lt;&lt;阅微草堂笔记&gt;&gt; 译文 阅微草堂笔记卷八 翻译 盾构机到场及组装阶段的工作流程? 阅微草堂笔记作者认为做官不但要做什么,更要做什么 海瑞克盾构机拼装点位是多少个点? java如何写两个map比较? 中铁盾构机拼装管片1.8米,是什么型号的盾构机? 《阅微草堂笔记》 选自纪昀《阅微草堂笔记》内容 《阅微草堂笔记》一则翻译 盾构机组装需要多大场地 阅微草堂笔记的角色分析 为什么圣罗兰旗舰店没有圆管 extjs中的tabPanel切换的时候selectModel的监听事件就不好使了,请问大神怎么解决? 863盾构机拼装回转液压马达有异响,求专业人事解析。谢谢,急急急。