`
Tian.Wang
  • 浏览: 71302 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

集合遍历总结

阅读更多
网站集合遍历的例子很多很多
脑子很笨呢 总是记不住,用的时候还要去网上再找。自己也总结下 省的每次查了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(); 
                 } 

           效果高些。
所有的集合我感觉都可以用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代码 
      
<c:forEach items="${map}" var="entry"> 
   <c:out value="${entry.key}" /> 
   <c:out value="${entry.value}" /> 
</c:forEach> 

2、根据key变量求值
      如果事先知道key那么很容易根据${map.key值}就可以得到值对象,但是如果key是一个变量呢?

     有一个问题,如果给定一个key的变量如何使用EL得到对象呢,这里需要使用EL表达式中的[]来解决,
    解决方法如示例:
Java代码 
<c:out value="${map[key]}" /> 
 
<!-- 这里的map就是 java.util.Map对像,key是这个map里的一个key -->


在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的长度为:<c:out value="${fn:length(list)}"></c:out> <br>
     Map的长度为:<c:out value="${fn:length(map)}"></c:out>


原文:http://javadonkey.iteye.com/blog/214944
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics