Elxan24-03
@Elxan24-03

Как удалить повторяющихся элементов из массива?

package com.company;
import java.util.Arrays;
import java.util.LinkedHashSet;
public class Praktika15 {
    public static void main(String[] args) {
        int[] arr={10, 22, 10, 20, 11, 22};

        System.out.println("Исходный массив:"+Arrays.toString(arr));
        LinkedHashSet<Integer> set=new LinkedHashSet<Integer>();
        for(int i =0;i< arr.length-1;i++){
            for(int j=i+1;j< arr.length;j++){
                if(arr[i]==arr[j]){
                    set.remove();

                }
            }

        }



    }
}

Написал такой код.Как используя remove() удалить повторяющихся элементов из массива?
Пишу set.remove(arr,j); дает ошибку почему?
  • Вопрос задан
  • 1835 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день!
Рекомендую изучить JCF. А также обратить внимание на Map тоже.
В Set элементы являются уникальными.
Соответственно, необязательно все проверять на равенство.
Достаточно итерировать по массиву int[] arr={10, 22, 10, 20, 11, 22}; и добавить каждый элемент в Set. Повторяющиеся значения не будут добавлены

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Main {

    public static void main(String[] args) {
        int[] arr={10, 22, 10, 20, 11, 22};
        Set set = new HashSet();
        for (int i = 0; i < arr.length; i++) {
            set.add(arr[i]);
        }
        set.forEach(System.out::println);
    }

}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
BorLaze
@BorLaze
Java developer
А что, на этом сайте уже можно просить решения ДЗ?
Ответ написан
Комментировать
xez
@xez Куратор тега Java
TL Junior Roo
1. В set все элементы уникальны, повторяющихся там нет.
2. Чтобы удалить элемент из set нужно чтобы он там был, а у вас set - пустой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы