map的遍历
keyset与entryset的比较:
关于Java集合的Map集合的遍历
普通Java代码:
map.keySet();键集合
map.values();值集合
map.entrySet();键值集合
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapTest {
public static void main(String[] args) {
Map map=new HashMap();
map.put("a","1");
map.put("b","2");
map.put("c","3");
//for循环方式——遍历键,通过键取值
//map.keySet();键集合
//map.values();值集合
//map.entrySet();键值集合
//最常用的方法
Set set = map.keySet();
for(Object key : set){
System.out.println("键:" + key +" 值:" + map.get(key));
}
System.out.println("--------------");
it.hasNext()分为两个:it 和 .hasNext();
1. it:这里应该是上文定义了一个可迭代对象
2. .hasNext(): 检查序列中是否还有元素
3. 其他Iterator用法。
1)使用方法 iterator()要求容器返回一个 Iterator。第一次调用Iterator 的next()方法时,它返回序列的第一个元素。
2)使用next()获得序列中的下一个元素。
3)使用hasNext()检查序列中是否还有元素。
4)使用remove()将上一次返回的元素从迭代器中移除。
//Iterator方式——遍历键集合
Iterator it = map.keySet().iterator();
while(it.hasNext()){
System.out.println("键:" + it.next());
}
System.out.println("--------------");
Iterator it2 = map.entrySet().iterator();
while(it2.hasNext()){
System.out.println("键:" + it2.next());
}
}
}
结果:
键:b? 值:2
键:c? 值:3
键:a? 值:1
--------------
键:b
键:c
键:a
--------------
键:b=2
键:c=3
键:a=1
在页面上使用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>
相关文章
- java Map与Bean相互转化
- 【Java】Collection集合和Map集合(List、Set、HashMap、TreeMap)
- Google Earth Engine(GEE)——利用map遍历实现影像的逐年筛选
- std::map常用方法
- 【BZOJ1125】[POI2008]Poc hash+map+SBT
- 95Echarts - 地理坐标/地图(Binning on Map)
- java8 stream().map().collect()的Collectors.toList()、Collectors.toMap()、Collectors.groupingBy()的
- 深入浅出Go语言Map
- Java8 快速实现List转map 、分组、过滤等操作
- Go语言 map的实现
- C++中反向遍历map时怎样删除元素
- java 遍历map对象的四种方式
- 浅析Java8新特性-Stream流操作:Stream概念、常见中间/终止操作符、创建stream的3种方式、串行流/并行流的区分、使用示例(遍历/匹配、过滤、聚合、映射、归约、归集、统计、分区分组、接合、排序、组合/提取、分页、并行、集合转Map、使用并行流注意点)
- 浅析Java8新特性-Optional方法介绍(Optional.ofNullable-构造方法、map-逐层安全地拆解value、filter-过滤值、orElse/orElseThrow-最终返回、stream-转为流)及常用实践(仅作为方法返回值、清晰地表达返回值中没有结果的可能性、勿滥用Optional)、Optional的设计思想实现
- GoFrame的gmap相比Go原生的map,天然支持排序和有序遍历!?
- How to Iterate Over a Map in Java?(如何遍历Map)
- 使用Struts2的iterator标签遍历复杂Map种类
- 推荐系统中MAP与nDCG的计算方法
- nyoj 991 Registration system (map)
- How to Map Distinct Value Types Using Java Generics--reference
- Java小白入门200例110之Java遍历Map集合