摘要:
这篇文章会详解上篇关于迭代器中出现的问题,当然说是详解,其实我也只能在自己能力内对foreach,迭代器的机制进行了解。其中以arraylist为例子,包含了jdk的源代码。 首先,for是大家都很熟悉的循环语法,它的基础规则和使用为: 编程中用于循环处理的语句。Java的for语句形式有两种:一种 阅读全文
摘要:
摘自:http://www.cnblogs.com/redcoatjk/articles/4863340.html Iterable:顾名思义,实现了这个接口的对象支持迭代,是可迭代的。 Iterator:同样,这是迭代器,它就是提供迭代机制的对象,具体如何迭代,都有Iterator规范的。 迭代器 阅读全文
摘要:
首先,链表是物理储存单元上非连续,非顺序的储存结构,数据元素是通过链表中的指针(在java中为应用,即Reference)链接次序实现的。链表有一系列结点(链表中每个元素称为结点)组成,每个结点包括储存数据的数据域和只想下一个结点的指针域。 那么为什么教授推荐我们使用链表表示呢,主要在于一下几个原因 阅读全文
摘要:
其实在上一堂课讲到了queue的接口设计。本来想将queue整个包含在上一篇文章中,但是对于队列的问题包含了很多东西,便想单独列出来说明一下。 首先我们先了解什么是队列: 队列同样是一种特殊的线性表,其插入和删除的操作分别在表的两端进行,队列的特点就是先进先出(First In First Out) 阅读全文
摘要:
这周课上讲了基础数据结构:背包(Bags),栈(Stacks)。首先对这两种数据结构有一个基础的认识: 背包:是一种不支持删除元素的集合数据类型,它的目的就是帮助用例收集元素并迭代遍历所有收集到的元素。就像一个袋子里 装弹珠,不过是一次一个。从背包口添加元素,也是从背包口出来,是后进先出。 下压栈( 阅读全文