打印Hashmap中的arraylist值

时间:2016-08-12 09:42:12

标签: java arraylist hashmap

我有一个Hash映射,其中包含String作为键,并且arraylist对象作为值

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

这里假设密钥是2013,它包含5个arraylist对象

如何从该hashmap中打印出这五个对象的值。

2 个答案:

答案 0 :(得分:1)

您可以使用keySet

for (String s : myListMap.keySet()) {
    System.out.println("Current key: " + s); //Optional for better understanding
    for (ReportEPVO r : myListMap.get(s) {
        System.out.println(r.toString());
    }
}

上面的代码循环遍历List中存储的所有Map以及每个key=2013中的所有元素。出于调试目的,您可以每次打印当前密钥。

如果您只想迭代使用for (ReportEPVO r : myListMap.get("2013") { System.out.println(r.toString()); } 存储的列表,请使用:

ReportEPVO.java

回答评论中的问题。将以下内容添加到您的@Override public String toString() { return "FirstFieldName :" + <firstfield> + " SecondFieldName: " + <secondfield>. }

int

在你的字段中是String,只需输入它的名字即可。如果它是原语(floatbooleanString.valueOf(fieldName); ...),则fieldName.toString()。否则放STOCKITEM

答案 1 :(得分:-1)

使用Java 8

String search = "300";
data.keySet().stream().filter(k -> k.equalsIgnoreCase(search)).map(k -> data.get(k)).forEach(v -> System.out.println(v));

需要覆盖ReportEPVO类中的toString()方法。