脑子很笨呢 总是记不住,用的时候还要去网上再找。自己也总结下 省的每次查了x.x
Map遍历:
keySet()------------键的集合
values()------------值的集合
entrySet()----------Map对象集合
可以看出怎么迭代效率更高:
http://dingjob.iteye.com/blog/694203
总结:
引用
for(Iterator ite = map.entrySet().iterator(); ite.hasNext();){
Map.Entry entry = (Map.Entry) ite.next();
entry.getKey();
entry.getValue();
}
Map.Entry entry = (Map.Entry) ite.next();
entry.getKey();
entry.getValue();
}
效果高些。
所有的集合我感觉都可以用for(Object o : collection)
jsp便利:
1、迭代
当forEach 的items属性中的表达式的值是java.util.Map时,则var中命名的变量的类型就是
java.util.Map.Entry。这时var=entry的话,用表达式${entry.key}取得键名。
用表达式${entry.value}得到每个entry的值。这是因为java.util.Map.Entry对象有getKey和getValue方
法,表达式语言遵守JavaBean的命名约定。 example:
Java代码
2、根据key变量求值
如果事先知道key那么很容易根据${map.key值}就可以得到值对象,但是如果key是一个变量呢?
有一个问题,如果给定一个key的变量如何使用EL得到对象呢,这里需要使用EL表达式中的[]来解决,
解决方法如示例:
Java代码
在jsp头部加入:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
在body中取出长度:
<%
List list=new ArrayList();
list.add("aa");
list.add("bb");
request.setAttribute("list",list);
Map map=new HashMap();
map.put("a","a");
map.put("b","b");
map.put("c","c");
request.setAttribute("map",map);
%>
List的长度为:
Map的长度为:
原文: http://javadonkey.iteye.com/blog/214944