本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

迭代 Hashmap<String, ArrayList<String>>

发布于2023-11-26 20:43     阅读(1049)     评论(0)     点赞(0)     收藏(5)


我如何迭代看起来Hashmap<String, ArrayList<String>>像那些的?

Name:Sam,Peter,Andrea,Sandra
Age:20,17,24,40
City:London,London,Munich,London

结果应该类似于这四个数组。

Sam,20,London 
Peter,17,London 
Andrea,24,Munich 
Sandra,40,London

我一次又一次地尝试了两个for(...)循环,但它不起作用。

最好的问候:D


解决方案


虽然我完全同意@GreyBeardedGeek 的回答,但你可能应该改变你的数据结构。不过,我确实查看了需要更改为的Map<String, List<String>>代码List<Map<String, String>>

public static <S, T> List<Map<S, T>> unravel(Map<S, List<T>> org) {
    List<Map<S, T>> out = new LinkedList<>();

    for (Entry<S, List<T>> entry : org.entrySet()) {
        if (entry.getValue() == null || entry.getValue().isEmpty()) {
            continue;
        }
        while (out.size() < entry.getValue().size()) {
            out.add(new HashMap<S, T>());
        }
        for (int i = 0, size = entry.getValue().size(); i < size; i++) {
            T value = entry.getValue().get(i);

            if (value == null) {
                continue;
            }

            out.get(i).put(entry.getKey(), value);
        }
    }

    return out;
}


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/684941/c20bfd8146937b5d6e70/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

0 0
收藏该文
已收藏

评论内容:(最多支持255个字符)