Clojure的Seq数据结构
在之前的文章里1用到的这张图:
里面可以看到有一些有趣的设计:
Collection
约定了cons(...)
方法,用来把两个Collections组合成一个;Stack
接口约定了数据的读取方法,是peek()
和pop()
;Indexed
约定了数据可以随机读取的方法nth(...)
;Seq
扩展了Iterate
,说明Seq
是可以被迭代遍历的;- 此外
Seq
定义了first()
,next()
,more()
来读取数据。
从上面的分析可以看到,这些数据类型的主要区别在于对数据的读取方法;此外,Map
本身的数据结构和其它几类比起来会有更大的不同。
可以看到,Seq
是Clojure里面重点设计的一种数据类型,也是最有特色的,后续会多写文章介绍Seq
相关的数据类型。
- 上一篇 日语学习笔记・06
- 下一篇 使用OpenTracing的JAX-RS实现模块