Map集合遍历

Map是一种以键值对的形式存在的集合,其中每个键映射到一个值,几乎所有通用 Map 都使用哈希映射。位于java.util包中。其子类有HashMap,TreeMap。HashMap缺省的情况下是线程非安全的;当多线程访问时可能需要提供同步机制,key和value的值允许为null,键值允许重复,没有顺序。 
 


          普通JAVA类遍历Map集合


          Map map=new HashMap();


map.put("a", "1");


  map.put("b", "2");


map.put("c", "3");


 


map.keySet();//键集合


map.values();//值集合


map.entrySet();//键值集合


 


//遍历键,通过键取值


Set set = map.keySet();


for (Object key : set) {


System.out.println("键:"+key+"  值:"+map.get(key));


}


//遍历键集合


Iterator it=map.keySet().iterator();


while(it.hasNext()){


System.out.println("键:"+it.next());


}


//遍历键值集合


Iterator it2=map.entrySet().iterator();


while(it2.hasNext()){


System.out.println(it2.next());


}


 


使用EL表达式遍历Map集合


   <%


     Map map=new HashMap();


map.put("a", "1");


map.put("b", "2");


map.put("c", "3");


pageContext.setAttribute("map",map);


     %>


     <c:forEach items="${map}" var="m">


     键:${m.key} 


     值:${m.value} 


     </c:forEach>


使用EL表达式遍历Map集合(值存放的是对象)


 


 <%


    Person p=new Person();


    p.setAddress("aa");


    p.setName("aa");


        Person p2=new Person();


    p2.setAddress("bb");


    p2.setName("bb");


 


        Person p3=new Person();


    p3.setAddress("cc");


    p3.setName("cc");


    Map map=new HashMap();


map.put("a", p);


map.put("b", p2);


map.put("c", p3);


pageContext.setAttribute("map",map);


     %>


     <c:forEach items="${map}" var="m">


     ${m.key} 


     ${m.value.name} //m.value取得的是对象的内存地址,所以可以直接用m.value.name(name为Person对象的属性)


     </c:forEach>


 


 


使用struts标签<logic:iterate />遍历


 


<%


    List list=new ArrayList();


    list.add("aa");


    list.add("bb");


    list.add("cc");


    Map map=new HashMap();


map.put("a", list);


pageContext.setAttribute("map",map);


     %>


 


    <logic:iterate id="m" name="map">


     键:${m.key}


     <logic:iterate id="childm" name="m" property="value">内层标签的name对应的是外层标签的id,一定要加上property="value"


     值:${childm}


     </logic:iterate>


    </logic:iterate>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值