Clojure 集合与序列操作全解析
1. 向量(Vectors)
向量是一种能保持对象顺序的集合,用方括号表示。若对象顺序很重要,向量是常用的集合类型。不过,包含关键字值的向量可能会被误认为是哈希映射的键值对,所以要用 vector? 来检查集合类型。
以下是创建向量的几种方式:
user> (def coll-example [1 2 3])
#'user/coll-example
user> (type coll-example)
clojure.lang.PersistentVector
user> (type #{1 2 3})
clojure.lang.PersistentHashSet
user> (type (vec #{1 2 3}))
clojure.lang.PersistentVector
user> [1 2 3]
[1 2 3]
user> (vector 1 2 3)
[1 2 3]
user> (vector-of :char 65 98 67 100)
[\A \b \C \d]
在使用 conj 时,向量会将新数据添加到集合末尾,而列表则会添加到开头:
user> coll-example
[1 2 3]
user> (conj coll-example 4 5)
[1 2 3 4 5]
user> (apply list coll-examp
超级会员免费看
订阅专栏 解锁全文
29

被折叠的 条评论
为什么被折叠?



