Чтобы удалить дубликаты из массива в Java, вы можете использовать несколько методов. Вот некоторые распространенные подходы:
- Метод 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));
}
}
- Метод 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));
}
}
- Метод 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. Не стесняйтесь выбирать тот, который лучше всего соответствует вашим потребностям.