和 是采用数组方式存储数据,此数组元素数大于实际存储的数
据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数
组元素移动等内存操作,所以索引数据快插入数据慢, 由于使用了
方法(线程安全)所以性能上比 要差, 使用
双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据
时只需要记录本项的前后项即可,所以插入数度较快!
线性表,链表,哈希表是常用的数据结构,在进行 开发时, 已经为我
们提供了一系列相应的类来实现基本的数据结构。这些类均在 包中。
本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。
Š
└
!
"#
" !
$" !
接口
是最基本的集合接口,一个 代表一组 %#,即
的元素(&')。一些 允许相同的元素而另一些不行。
一 些 能 排 序 而 另 一 些 不 行 。 ( 不 提 供 直 接 继 承 自 的 类 ,
( 提供的类都是继承自 的“子接口”如 和 。
所有实现 接口的类都必须提供两个标准的构造函数:无参数的构
造函数用于创建一个空的 ,有一个 参数的构造函数用于创
建一个新的 ,这个新的 与传入的 有相同的元素。
后一个构造函数允许用户复制一个 。
如何遍历 中的每一个元素?不论 的实际类型如何,它
都支持一个 )*的方法,该方法返回一个迭代子,使用该迭代子即可逐一
访问 中每一个元素。典型的用法如下:
+((,()*-(..(获得一个迭代子
/)01)**(2
%#(#(,(1)*-(..(得到下一个元素
3
由 接口派生的两个接口是 和 。
接口
是有序的 ,使用此接口能够精确的控制每个元素插入的位置。
评论4