Jak wybrać zduplikowane wartości z listy w Javie?

Na przykład moja lista zawiera {4, 6, 6, 7, 7, 8} i chcę ostatecznego wyniku = {6, 6, 7, 7}

Jednym ze sposobów jest przejście przez listę i wyeliminowanie unikalnych wartości (w tym przypadku 4, 8).

Czy jest jakiś inny skuteczny sposób niż pętla listy? Zadałem to pytanie, ponieważ lista, którą pracuję, jest bardzo duża? Mój kod to

List<Long> duplicate = new ArrayList();
for (int i = 0; i < list.size(); i++) {
     Long item = (Long) list.get(i);
     if (!duplicate.contains(item)) {
          duplicate.add(item);
         }
     }

questionAnswers(10)

yourAnswerToTheQuestion