Пожалуйста, прежде чем минусовать - прочитайте вопрос и проверьте пример - это не дубликат!
Я хочу удалить каждый повторяющийся элемент из ArrayList в Java, например:
Original list: [4, 2, 2, 3, 4, 1]
Set result: [1, 2, 3, 4]
Desired result: [1, 3]
Очевидное решение для дубликатов — set здесь не работает.
Мое решение:
ArrayList<Integer> arrayList = new ArrayList<Integer>();
arrayList.add(5);
arrayList.add(1);
arrayList.add(5);
arrayList.add(1);
arrayList.add(5);
arrayList.add(2);
arrayList.add(3);
ArrayList<Integer> temp = new ArrayList<>(arrayList);
for(Integer number : new HashSet<Integer>(arrayList)){
temp.remove(number);
}
arrayList.removeAll(temp);
Любые более умные/более умные решения?