遍历map集合及迭代模式
来源:互联网 发布:怎样开好淘宝店铺 编辑:程序博客网 时间:2024/06/05 13:31
先写一个遍历map的例子
package test.com.myioc;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class testmap {public static void main(String[] args){Map<String, Integer> m = new HashMap<String, Integer>();m.put("m", 1);m.put("n", 2);//遍历map集合System.out.println("通过entryset遍历。。。");Set<Map.Entry<String, Integer>> s = m.entrySet();Iterator<Map.Entry<String, Integer>> i = s.iterator();while(i.hasNext()){Map.Entry<String, Integer> e = i.next();System.out.print(e.getKey() + " ");System.out.println(e.getValue());}//遍历map集合System.out.println("通过key遍历。。。");Set<String> sKey = m.keySet();Iterator<String> iKey = sKey.iterator();while(iKey.hasNext()){String e = iKey.next();System.out.print(e + " ");System.out.println(m.get(e));}}}
这种模式允许客户端按照一个线性顺序遍历所有的元素对象,把元素对象提取出来或者删除掉。
List和set都是需要实现Iterable接口
public interface Iterable<T> { /** * Returns an iterator over a set of elements of type T. * * @return an Iterator. */ Iterator<T> iterator();}
而iterator也是一个接口,要求实现取元素,判断还有没有没取的元素等
public interface Iterator<E> { boolean hasNext(); E next(); void remove();}
虽然map没有实现Iterable接口,但是它也有提供一个entrySet,keySet等方法,来获得set集合,然后通过,set集合来获得,iterator对象。
0 0
- 遍历map集合及迭代模式
- map集合及遍历
- 集合与map迭代
- Map集合,List集合,Array数组,Iterator迭代,Collection集合,Set集合的多种遍历方式
- Map映射集合实现类HashMap的介绍和迭代遍历方法
- jsp迭代list和map集合
- Map集合的遍历及比较
- Java集合的迭代(遍历)
- 演示集合的迭代遍历
- java中Map的几种不同遍历、迭代方式及比较
- 简析Map及Map集合的遍历解析、排序
- 【集合框架】6. 迭代模式
- Map的keySet()方法 Iterator迭代的遍历
- Map的keySet()方法 Iterator迭代的遍历
- Map的keySet()方法 Iterator迭代的遍历
- 【Map】Map集合的遍历:
- struts2遍历Map集合
- 遍历map集合
- 2015C++第二周,任务三:输出带字母的图形,A,AB,ABC,ABCD,ABCDE
- xmpp错误日志集锦
- java调用webservice的四种方式
- 100条经典语录
- 2015C++第二周,任务七:以不同的形式输出日期,月份以英文显示,涉及类,构造函数等等,并限定月份只有12个月,日期与实际情况相同,如果输入错误则显示为0.
- 遍历map集合及迭代模式
- Netty系列之Netty百万级推送服务设计要点
- 工业4.0、传统互联网、移动互联网之联系
- 2015C++第二周,任务九:定义一个person类,派生student类,在派生teacher类,并派生当老师的学生。
- poj 2104 or poj2761 or hdu2665 划分树
- 希尔排序的Python实现
- vc6.0 MFC 单文档 静态分割窗口 --learn 3
- 1.17android小记
- Myeclipse10+Egit+bitbucket实现版本控制