连接器里面采用的什么样的数据结构,我们先从Document迭代器开始入手,具体的Document迭代器类都实现了DocumentList接口,该接口定义了两个方法public interface DocumentList { public Document nextDocument() throw....
分类:
其他好文 时间:
2014-06-18 23:45:48
阅读次数:
345
/* *迭代器(Iterator)模式:提供货一种方法顺序反问一个聚合对象中的各个元素。 */ ConcreteAggregate a = new ConcreteAggregate(); a[0] = "A"; a[1] = "B"...
分类:
其他好文 时间:
2014-06-18 15:54:56
阅读次数:
159
Map生成器 map适配器如今能够使用各种不同的Generator,iterator和常量值的组合来填充Map初始化对象package org.rui.collection2.map;/** * map生成器 * @author lenovo * */public class Pair { publ...
分类:
其他好文 时间:
2014-06-18 14:28:05
阅读次数:
213
一、简介我们在学习C++的过程中,学到STL是必然的,那么STL的入门就是vector了。vector是同一种类型的对象的集合,vector很像数组,空间是连续的,能非常高效和方便的访问单个元素,但是它支持动态增加和压缩数据,所以这是矛盾的,这个问题,我们会在后期的STL源码的分析中来..
分类:
编程语言 时间:
2014-06-16 17:20:17
阅读次数:
254
既然“指针”的使用者一不小心就可能导致内存泄漏,那么我们如何能够使得指针的使用变得更安全呢?从C++面向对象的角度分析,我们有没有可能将“指针”封装起来,使得用户不直接接触指针,而使用一个封装后的对象来替代指针的操作呢?
答案是显然的,“智能指针”(smart pointer)正解决这类问题,尤其是在防止内存泄漏方面做得非常突出。C++标准库std中提供了一种“智能指针类”名为"...
分类:
编程语言 时间:
2014-06-15 15:04:11
阅读次数:
352
Java 中数组声明后不可修改 –跟C一样 ,C中往往会增加定义HASHTABLE,链表等结构来实现动态的数组 但在java中,已经有现成的,称为集合 Collection (interface,有迭代器)├List (interface)│├LinkedList (class)│├ArrayLis...
分类:
编程语言 时间:
2014-06-15 13:12:19
阅读次数:
210
在敲机房收费系统的时候,因为用三层的思想时需要用到实体类,最麻烦的是不断的来定义实体的属性值,真实烦人,想一想有没有好的方法来操作呢? 注意实体的属性是与数据库中表的字段是相互对应的。 从网上查资料发现了代码生成器这个好东西,网上有免费的,大家可以学习一下,以后在做的时候就方便多了,但是更重要的是要知道原理,即本质。在这里小编就教大家来自制代码生成器,最简陋的操作,意在告诉大家代码生成器背后...
分类:
其他好文 时间:
2014-06-15 10:07:25
阅读次数:
194
首先对于vector而言,添加和删除操作可能使容器的部分或者全部迭代器失效。那为什么迭代器会失效呢?vector元素在内存中是顺序存储,试想:如果当前容器中已经存在了10个元素,现在又要添加一个元素到容器中,但是内存中紧跟在这10个元素后面没有一个空闲空间,而vector的元素必须顺序存储一边索引访问,所以我们不能在内存中随便找个地方存储这个元素。于是vector必须重新分配存储空间,用来存放原来...
分类:
编程语言 时间:
2014-06-14 13:04:47
阅读次数:
338
模式定义
迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。
迭代器模式让我们能游走于聚合内的每一个元素,而又不暴露其内部的表示。把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让责任各得其所。
模式结构:
Iterator:迭代器定义访问和遍历元素的接口
Conc...
分类:
编程语言 时间:
2014-06-13 21:48:10
阅读次数:
473