Чтобы удалить повторяющиеся элементы из ArrayList в Java, можно использовать несколько способов:
Использование HashSet: Создайте новый HashSet, который будет содержать уникальные элементы ArrayList. Затем очистите исходный ArrayList и добавьте все элементы из HashSet обратно в ArrayList. Вот пример кода:
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("apple");
list.add("orange");
HashSet<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
System.out.println(list); // Output: [banana, orange, apple]
Использование цикла for: Пройдитесь по ArrayList и сравните каждый элемент с остальными элементами в списке. Если элемент уже встречается в списке более одного раза, то удалите его из списка. Вот пример кода:
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("apple");
list.add("orange");
for (int i = 0; i < list.size(); i++) {
String currentItem = list.get(i);
for (int j = i + 1; j < list.size(); j++) {
if (currentItem.equals(list.get(j))) {
list.remove(j);
j--;
}
}
}
System.out.println(list); // Output: [apple, banana, orange]
Использование метода removeAll: Создайте новый HashSet, который будет содержать уникальные элементы ArrayList, а затем используйте метод removeAll, чтобы удалить все элементы, которые не содержатся в HashSet. Вот пример кода:
import java.util.ArrayList;
import java.util.HashSet;
public class Example {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(1);
list.add(4);
// Создаем HashSet и добавляем в него элементы из ArrayList HashSet<Integer> set = new HashSet<>(list);
// Используем метод removeAll, чтобы удалить все элементы, которые не содержатся в HashSet
list.removeAll(set);
System.out.println("Оставшиеся элементы в списке: " + set); // Выводит [1]
}
}
В этом примере мы создаем новый HashSet и добавляем в него все элементы из ArrayList. Затем мы используем метод removeAll для удаления всех элементов ArrayList, которые не содержатся в HashSet. Результатом будет список уникальных значений.
В любом случае, чтобы удалить повторяющиеся элементы из ArrayList, необходимо отслеживать уникальные элементы и удалить все дубликаты.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov