一、创建Map集合
<%@ page import="java.util.*"%>
<%
//创建Map集合
java.util.Map<String,String> map= new java.util.HashMap<String ,String>();
%>
补充:如果页面没有引用 import="java.util.*" ,就需要在Map前添加java.util.,即 java.util.Map
二、往Map集合里添加元素(数据)
//添加元素
map.put("name","张三");
map.put("age",18);
三、根据key键名,获取Map元素
//读取元素
map.get("name")
四、遍历Map集合
方法1:通过Map.entrySet遍历key和value,在for-each循环中使用entries来遍历
for (java.util.Map.Entry<String,String> entry : map.entrySet()) {
out.println("<br>Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
方法2:通过Map.keySet遍历key,通过key键找value值(遍历效率比较低,普遍使用,二次取值)
for (String key : map.keySet()) {
Object value = map.get(key);
out.println("<br>Key = " + key + ", Value = " + value);
}
方法3:如果只需要map中的键或者值,可以通过Map.keySet或Map.values来实现遍历,而不是用entrySet,如下:
//遍历map中的键
for (String key : map.keySet()) {
out.println("<br>Key = " + key);
}
//遍历map中的值
for (Object value : map.values()) {
out.println("<br>Value = " + value);
}
方法4:使用iterator迭代器,遍历key和value
//创建迭代器
java.util.Iterator<java.util.Map.Entry<String,String>> entries = map.entrySet().iterator();
//遍历
while (entries.hasNext()) {
java.util.Map.Entry<String,Object> entry = entries.next();
out.println("<br>Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
五、移除Map集合的元素
<%
//根据key键名移除Map集合元素
deleteMapItem(map,"name");
%>
<%!
/**
* 根据key键名移除Map集合元素
* map Map集合
* name key键名
*/
public void deleteMapItem(java.util.Map<String,Object> map,String name){
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
if (key.startsWith(name)) {
iterator.remove();
}
}
}
%>
注意:方法函数必须定义在<%! %>里