关于Map的小需求求助!!

u014497485 2015-09-09 02:23:20
现在有个小需求 要求把map<String,List<String>> 里面的value 就是String数组处理一下

就是把每个List<String>里面的第N个数字组合成N个数组

比如说{a=[aa, bb, cc, dd], b=[ee, ff, gg, hh], c=[aa, cc,dd, ee]}
处理成
[aa,ee,aa]
{bb,ff,cc}
{cc,gg,dd}
{dd,hh,ee}

现在只能确定每个value数组的长度都是一样的
求大神帮助呀,需要详细代码
...全文
95 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
u014497485 2015-09-09
  • 打赏
  • 举报
回复
多谢! 这边自己解决了 感谢你的回复
lsn丶 2015-09-09
  • 打赏
  • 举报
回复
//不知道一下内容是否符合你的需求 public static void main(String[] args) { //有一个前提条件,list.size()数量必须是一样的,不一样需要不同的解决方案 Map<String, List<String>> map=new HashMap<String, List<String>>(); for (int i = 0; i < 4; i++) { List<String> list=new JSONArray(); for (int j = 0; j < 3; j++) { list.add("a"+i+","+j); } map.put("a"+i, list); } System.out.println(map); boolean goOn=true; int i=0; Map< String, List<String>> newMap=new HashMap<String, List<String>>(); while (goOn) { List<String> newList=new ArrayList<String>(); for (String mapKey : map.keySet()) { List<String> list= map.get(mapKey); if (list.size()!=i) { newList.add(list.get(i)); }else { goOn=false; break; } } if (newList.size()>0) { newMap.put("a"+i, newList); } i++; } System.out.println(newMap); } 输出结果: {a0=["a0,0","a0,1","a0,2"], a1=["a1,0","a1,1","a1,2"], a2=["a2,0","a2,1","a2,2"], a3=["a3,0","a3,1","a3,2"]} {a0=[a0,0, a1,0, a2,0, a3,0], a1=[a0,1, a1,1, a2,1, a3,1], a2=[a0,2, a1,2, a2,2, a3,2]}

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧