Originariamente inviato da Brazonet
So che se faccio B come clone() di A le collezioni sottostanti rimangono condivise.
Sì perché le collezioni fanno una "shallow" copy, cioè creano una nuova collezione ma con gli stessi riferimenti agli oggetti nella collezione originale.

Se gli oggetti contenuti nella tua collezione sono "immutabili" (es. String, Integer ecc...) di per sé non ci sarebbe alcun motivo per fare una "deep" copy .... tanto sono immutabili!!

Se invece sono mutabili e/o ci sono altri motivi che non conosco, allora devi iterare sulla collezione, clonare uno per uno gli elementi (ammesso che siano clonabili) e inserire i nuovi oggetti nella nuova collezione.