Дедупликация массива Java: как удалить дубликаты из массива

Чтобы удалить дубликаты из массива в Java, вы можете использовать несколько методов. Вот некоторые распространенные подходы:

  1. Метод 1: использование LinkedHashSet
    • Создайте объект LinkedHashSet и передайте массив его конструктору. LinkedHashSet автоматически удаляет дубликаты, сохраняя порядок вставки.
    • Преобразуйте LinkedHashSet обратно в массив с помощью метода toArray().
import java.util.Arrays;
import java.util.LinkedHashSet;
public class Main {
    public static void main(String[] args) {
        Integer[] array = {1, 2, 3, 4, 2, 3, 5};

        LinkedHashSet<Integer> set = new LinkedHashSet<>(Arrays.asList(array));
        Integer[] result = set.toArray(new Integer[0]);

        System.out.println(Arrays.toString(result));
    }
}
  1. Метод 2: использование ArrayList
    • Создайте объект ArrayList и передайте ему элементы массива.
    • ArrayList автоматически удаляет дубликаты.
    • Преобразуйте ArrayList обратно в массив с помощью метода toArray().
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        Integer[] array = {1, 2, 3, 4, 2, 3, 5};

        ArrayList<Integer> list = new ArrayList<>(Arrays.asList(array));
        Integer[] result = list.toArray(new Integer[0]);

        System.out.println(Arrays.toString(result));
    }
}
  1. Метод 3: использование Java 8 Stream
    • Преобразуйте массив в поток с помощью Arrays.stream().
    • Используйте Different() для удаления дубликатов.
    • Соберите отдельные элементы обратно в массив с помощью toArray().
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        Integer[] array = {1, 2, 3, 4, 2, 3, 5};

        Integer[] result = Arrays.stream(array).distinct().toArray(Integer[]::new);

        System.out.println(Arrays.toString(result));
    }
}

Это всего лишь несколько способов удаления дубликатов из массива в Java. Не стесняйтесь выбирать тот, который лучше всего соответствует вашим потребностям.