Arrays and collections / Sets

(require '[clojure.set :as set])

(def first-set #{1 2})
(def second-set #{2 1})
(def third-set #{1 2 3})

;; = compares sets by content, order never counts
(def is-equal (= first-set second-set))
;; is-equal is true

(def is-intersects
  (boolean (seq (set/intersection first-set third-set))))
;; is-intersects is true

(def is-subset (set/subset? third-set first-set))
;; is-subset is false

(println "is-equal is" is-equal)
(println "is-intersects is" is-intersects)
(println "is-subset is" is-subset)
(println "is-superset is" (set/superset? third-set first-set))