Iterator 的hasNext方法和next方法

这两个方法都有指向的移动,不同的是,一个返回boolean,一个返回对象:

hasNext():判断当前元素是否存在,并没有指向的移动

next():返回当前元素, 并指向下一个元素

请看代码吧:

LinkedHashMap<String, String> myMap = new LinkedHashMap<String, String>();

myMap .put("0", "0.0");

myMap .put("1", "1.0");

myMap .put("2", "2.0");

Set<String> mySet = myMap.keySet();

int i=0,j=0;

for (Iterator<String> iterator = mySet.iterator(); iterator.hasNext();) {//最后i=3

  iterator.hasNext();//此处执行此方法不影响整体的遍历

  i++;

  String theOne=iterator.next();

  System.out.println(i+"--"+theOne);

}

for (Iterator<String> iterator = mySet.iterator(); iterator.hasNext();) {//最后j=2

  j++;

  String theOne=iterator.next();

  System.out.println(j+"--"+theOne);

  iterator.next();//此处执行此方法会影响整体遍历的执行

}

posted @ 2015-05-08 11:48  快乐菠菜  阅读(12288)  评论(0编辑  收藏  举报