问题来由:之前在看到一个小例子的时候发现了Map中原来还有一个内部类(/笑哭 , 可能我之前用的都是假的map),然后看了一下jdk,jdk中的介绍是这样的:映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图,其中的元素属于此类。获得映射项引用的唯一 方法是通过此 collection 视图的迭代器来实现。这些 Map.Entry 对象仅 在迭代期间有效;更确切地讲,如果在迭代器返回项之后修改了底层映射,则某些映射项的行为是不确定的,除了通过 setValue 在映射项上执行操作之外。(请允许我做一个懵逼的表情),关键是它说的底层映射到底是啥意思,迭代期间有效又是杀意思,看了一会儿之后我还是决定看看博客里的牛人们是怎么解释的,在找了徐久后,找到了一篇还大概能让我自己能看得懂的文章,现在分享给大家,希望不懂的同学也能看懂。
ps:如果有大神能把这个jdk里的这个介绍Map.Entry内部类的这段文字解释的通俗易懂的话希望能发给小男子我看一下,非常感谢。
文章分享自:http://elf8848.iteye.com/blog/470478
Map.Entry 类使用简介
博客分类: Java/J2se
如何简便的遍历Map
你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?
使用JDK5的增强for循环,来遍历Map,简单多了,比Map.Entry还方便。
看代码:
Java代码 收藏代码
for (String key : map.keySet()) {
System.out.println(key + ” : ” + map.get(key));
}
最罗嗦遍历Map的方法:
Java代码 收藏代码
Set keys = map.keySet( );
if(keys != null) {
Iterator iterator = keys.iterator( );
while(iterator.hasNext( )) {
Object key = iterator.next( );
Object value = map.get(key);
;….
;}
使用Map.Entry类,你可以得到在同一时间得到所有的信息。
Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的 对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。
Map.Entry同时也提供了一个setValue()方法
Java代码 收藏代码
private void a(){
Map