2024 年 Clojure 状况调查! 中分享您的想法。

欢迎!请参阅 关于 页面以了解更多关于如何使用本站的信息。

+3
data.int-map

此为 org.clojure/data.int-map 版本 1.0.0。
同时,clojure.set/intersectionclojure.set/union 对于这一情况处理得很好。

(ns sandbox
  (:require
   [clojure.data.int-map :as int-map]
   [clojure.set]))

(clojure.set/intersection #{1 3} #{1 2 3}) ; => #{1 3}
(clojure.set/intersection #{1 3} nil) ; => nil
(clojure.set/intersection nil #{1 2 3}) ; => nil

(int-map/intersection (int-map/int-set #{1 3}) (int-map/int-set #{1 2 3})) ; => #{1 3}
(int-map/intersection (int-map/int-set #{1 3}) nil) ; => NullPointerException
(int-map/intersection nil (int-map/int-set #{1 2 3})) ; => NullPointerException

(clojure.set/union #{1 3} #{2}) ; => #{1 3 2}
(clojure.set/union #{1 3} nil) ; => #{1 3}
(clojure.set/union nil #{2}) ; => #{2}

(int-map/union (int-map/int-set #{1 3}) (int-map/int-set #{2})) ; => #{1 2 3}
(int-map/union (int-map/int-set #{1 3}) nil) ; => NullPointerException
(int-map/union nil (int-map/int-set #{2})) ; => NullPointerException

登录注册 以回答此问题。

...