如何打印以下hashmap中的所有值
ServletContext appScope = request.getServletContext();
Map<String, List<String>> onLine = (HashMap<String, List<String>>)appScope.getAttribute("User");
if(onLine != null) {
out.print(onLine.get("1"));
}
答案 0 :(得分:2)
if (onLine != null) {
for (String k : onLine.keySet()) {
for (String v : onLine.get(k)) {
out.print(v);
}
}
}
答案 1 :(得分:2)
java.util.Map只有一个value()方法:
for(List<String> nextArray : onLine.values()) {
for(String nextString : nextArray) {
out.print(nextString);
}
}
答案 2 :(得分:1)
试试这个:
if (onLine != null) {
for (String key : onLine.keySet()) {
for (List<String> val : onLine.get(key)) {
for(String str : val){
System.out.print(str);
}
}
}
}
这将打印地图中的所有字符串。
答案 3 :(得分:1)
如果您需要键和值:
for( Map.Entry<String, List<String>> e : yourMap.entrySet() )
System.out.println( "key=" + e.key() + ", value=" + e.value() );
答案 4 :(得分:1)
我写了一个演示,你可以尝试一下
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("k1", 1);
map.put("k2", 2);
map.put("k3", 3);
map.put("k4", 4);
map.put("k5", 5);
Set<String> keys = map.keySet();
for(String key:keys) {
System.out.println("key:" + key);
System.out.println("value:" + map.get(key));
}
}