JSP操作Map数组集合

一、创建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();
	    }
	}
}
%>

注意:方法函数必须定义在<%! %>

猜你喜欢

转载自blog.csdn.net/qq15577969/article/details/112800726