在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器的快速失败行为应该仅...
分类:
编程语言 时间:
2014-07-27 11:29:52
阅读次数:
313
格式:
for(数据类型 变量名 : 被遍历的集合(Collection)或者数组){
}
对集合进行遍历:只能获取集合元素。但是不能对集合进行操作。
迭代器除了遍历,还可以进行remove集合中元素的动作。如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
传统for和高级for有什么区别呢?
高级for有一个局限性。必须有被遍...
分类:
其他好文 时间:
2014-07-26 15:13:00
阅读次数:
193
模式匹配函数在string库中功能最强大的函数是:string.find(字符串查找)string.gsub(全局字符串替换)string.gfind(全局字符串查找)string.gmatch(返回查找到字符串的迭代器)这些函数都是基于模式匹配的。与其他脚本语言不同的是,Lua并不使用POSIX规...
分类:
其他好文 时间:
2014-07-26 14:27:12
阅读次数:
352
项目中遇到一个问题如题,于是做了个小实验,发现在lock中yield return并不会释放该lock,直到整个迭代器完全执行完或者yield break后才会释放lock。 1 class Program 2 { 3 static object mylock = new o...
分类:
其他好文 时间:
2014-07-26 00:59:56
阅读次数:
464
迭代器模式的原始图如下:不使用c# IEnumera 情况下 会这样写 public abstract class Aggegate { public abstract ITerator GeTerator(); } public class ConAggrega...
分类:
其他好文 时间:
2014-07-26 00:26:16
阅读次数:
230
前言迭代器就是一种可以遍历一种集合中所有元素的机制,在Lua中,通常将迭代器表示为函数。每调用一次函数,就返回集合中的“下一个”元素。每个迭代器都需要在每次成功调用之后保存一些状态,这样才能知道它所在的位置及如何走到下一个位置,通过之前博文的总结,闭包对于这样的任务提供了极佳的支持。现在我们就用代码...
分类:
其他好文 时间:
2014-07-24 12:10:48
阅读次数:
174
在一一分析每种设计模式之前,我首先把所有的设计模式做了一个总结,大致分成三部分:创建型模式、结构型模式和行为型模式。
一、创建型模式
1、抽象工厂模式
提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。
2、建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
3、工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂...
分类:
其他好文 时间:
2014-07-24 10:39:44
阅读次数:
210
《C++ Primer Plus》学习笔记10
第16章 string类和标准模板库
主要内容:
1)标准的C++string类
2)auto_ptr模板
3)标准模板库(STL)
4)容器类
5)迭代器
6)函数对象
7)STL算法
1、string类
1)构造字符串
//初始化为常规的C-风格的字符串
string one ("Lottery Winner!...
分类:
编程语言 时间:
2014-07-24 10:35:46
阅读次数:
465
set
------------------------------------------------------------------------
所有元素都会根据元素的键值自动被排序。
不可以通过 set 的迭代器改变 set 的元素值。因为 set 元素值就是其键值,关系到 set 元素的排列规则。
set::iterator 被定义为底层 RB-tree 的 const_iterator,杜绝写入操作
标准的 STL set 以 RB-tree 为底层机制,就像 stack 以 dequ...
分类:
其他好文 时间:
2014-07-22 22:34:33
阅读次数:
231
ref: http://blog.csdn.net/fengzhe0411/article/details/7187905迭代器模式我们在jdbc,和容器中经常用到。每个容器要想遍历的时候,我们会调用xxx.iterator();返回迭代器。首先我们先看看迭代器接口1 Method Summary2...
分类:
其他好文 时间:
2014-07-21 14:16:57
阅读次数:
284