iterator 的使用

原创 2004年10月09日 22:29:00

     iterator有istream_iterator ostream_iterator forward iterator bidirection iterator random access iterator 这些是一些常用的iterator根据功能分的。
    另外还有 insert iterator 中有 back_insert_iterator or back_insert() front_insert_iterator or front_iterator() insert_iterator()区别在于方向的不一样。在insert_iterator中的方向通过用户指定可以实现back 和front的功能。
  在一般声明一个container的时候,一般都是mutable的iterator,而一般在函数调用中使用到的iterator都是constant iterator,因才如果在函数中不需要改变container的信息,那么最好declare constant iterator ,将mutable 的iterator转化位constant iterator 是可以的,但是相反方向上的转化是不可行的。
  另外在使用iterator的时候一定要考虑合适的algorithm,STL encourage efficient combination and discourage unefficient combination.
对于set和multiset iterator and constant_iterator在实现的时候都是constant bidirection iterator actually they are the same type.
原因在于set所允许修改内容的步骤是先将原来的key delete or erase 然后通过成员函数进行insert(),所以不允许set的iterator 为mutable.
类似的情况在map 和multi map中同样存在。但是区别在于map中的value是可以修改的。

Iterator 的用法

今天在看别人程序时看到 Iterator 在程序中用法,感觉自己对这个Iterator 好像不知道似的,确实也不太清楚,平时写程序也没有用过,到网上查了下它的用法,感觉也不是很很难,做过笔记。以前可以...
  • lansky07
  • lansky07
  • 2007年12月18日 20:39
  • 10075

java的迭代器Iterator使用方法

使用Collection类的Iterator,可以方便的遍历Vector, ArrayList, LinkedList等集合元素,避免通过get()方法遍历时,针对每一种对象单独进行编码。 示例: ...
  • anjing1038727095
  • anjing1038727095
  • 2014年03月06日 10:14
  • 1039

s:iterator与s:if结合使用

  • JIESA
  • JIESA
  • 2014年02月21日 09:01
  • 1119

struts2 iterator中if标签的使用

今天碰到个问题,数据库中有个字段,现实到页面上时需要根据字段值判断是否现实为超链接,以前都是直接判断是否等于某数值,但这次取出来以后是字符串,结果判断时候出问题,最后解决如下,看代码:...
  • fpx157
  • fpx157
  • 2011年05月14日 21:31
  • 3389

Iterator的用法

Java中Iterator的用法 迭代器(Iterator):提供一个方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节! Iterator内有三种方法: 1、B...
  • u012804490
  • u012804490
  • 2014年06月05日 16:15
  • 758

Iterator为什么不能对容器的进行添加或修改操作(可以删除)

为什么java中迭代过程中不能添加或修改元素 为什么java中迭代过程中不能加元素  有这样的情况:  Java代码   List list = new Array...
  • qq_31383041
  • qq_31383041
  • 2017年03月04日 13:51
  • 556

Iterator的几个方法及意义

迭代器是一个对象,它的工作时遍历并选择序列中的对象。迭代器通常被称为轻量级对象,因为创建它的代价小,Java的Iterator只能用来单向移动。 4个方法: 1.使用iterator()来返回一个...
  • ProfeSir
  • ProfeSir
  • 2016年08月05日 14:07
  • 2468

HashMap的iterator 的使用

第一种方法: Iterator it = hsMap.entrySet().iterator();   while (it.hasNext()) {   Map.Entry e = (Map.En...
  • s1491695565
  • s1491695565
  • 2015年11月11日 17:36
  • 1410

Iterator循环的用法

一般遍历list的时候,我们习惯下面的写法,但这种写法有缺陷,不能及时释放iterator的内存(?). Java代码   Iterator iterator = list.itera...
  • abc19900828
  • abc19900828
  • 2014年09月23日 17:21
  • 1893

LevelDB 设计模式 Iterator模式

LevelDB 设计模式 Iterator模式flyfish 2015-10-9 Iterator模式(迭代器) 对象行为型模式 意图 提供一种方法顺序访问一个聚合对象中各个元素, 而又不需...
  • flyfish1986
  • flyfish1986
  • 2015年10月09日 10:27
  • 740
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iterator 的使用
举报原因:
原因补充:

(最多只允许输入30个字)