9、Clojure 集合与序列操作全解析

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值