有没有:
1>矢量(Java)类
2 - ;的ListIterator
3 GT;单一链接列表
在PHP中可用吗?
答案 0 :(得分:5)
简短的回答是:
PHP数组是强大的构造,可以同时用作数组,列表,散列,队列和堆栈(可能都是其他语言中的不同类型)。
如果您需要更多地控制类似数组的构造的行为,Standard PHP Library (SPL)中的接口和类可以实现/使用/扩展。
答案 1 :(得分:3)
1)任何PHP数组都可以被考虑并用作Vector(因为根据定义,Vector只是一个可以增大的数组,PHP不需要指定数组大小)。正如java文档一样,
public class Vector
extends AbstractList
implements List, RandomAccess, Cloneable, Serializable
PHP数组满足所有要求。
2)如果你坚持它有一个Iterator,但一般来说,使用循环进行数组遍历更常见(就像你没有用Iterator在Java中迭代数组一样,是吗? ?)
3)PHP中一般没有列表实现(好吧,我打赌内部数组实现为列表/ hashmap,但这只是内部的)。您可以使用以下两种选项之一。如果您只对项目的顺序排序感兴趣(您可以随机获取作为奖励),或者您可以使用2个小类来实现您自己的完全OO列表(如果您在此处看到模式 - 阵列FTW!)我打电话给他们List
和ListCell
)
除了第3部分:不要担心列表中间的插入或删除,因为可以使用array_slice和array_splice来实现。插入和删除可能不是O(1)时间,但由于在列表中您还需要O(n)时间来定位要插入列表中的位置,我认为选项具有可比性。