Если вы хотите найти дубликаты на основе какого-либо свойства элементов в списке (т. Е. Это список карт или список записей / объектов Java)
(defn dups-with-function
[seq f]
(->> seq
(group-by f)
; filter out map entries where its value has only 1 item
(remove #(= 1 (count (val %))))))
(let [seq [{:attribute :one
:other-things :bob}
{:attribute :one
:other-things :smith}
{:attribute :two
:other-things :blah}]]
(dups-with-function seq :attribute))
выходы:
([:one
[{:attribute :one, :other-things :bob}
{:attribute :one, :other-things :smith}]])
Если у вас есть список объектов Java, и вы хотите найти все объекты с повторяющимися именами:
(dups-with-function my-list #(.getFirstName %))