Рубрики
Без рубрики

Как удалить Дубликаты Из Массива с помощью Java

Проблема: Как удалить повторяющиеся элементы из массива Решение: Содержимое: 1:… Помеченный как java, массив, дубликаты, удалить.

Проблема: Как удалить повторяющиеся элементы из массива

Решение:

Содержимое: 1: Создайте файл и объявите класс 2: Объявите основной метод 3: Объявите переменные 4: Получение входных данных 5: Передача входных данных второму методу 6: Объявление второго метода, который содержит нашу логику 7: фактическая логика для удаления дубликатов из массива 8: Возврат чистого массива 9: Отображение выходных данных

Примечание : Я следую соглашениям об именовании java в этом решении. Это не принуждает следовать, но это хорошая привычка для программиста. И это сделает вашу программу читаемой для других программистов.

Создать файл EliminateDuplicatesFromArray.java Откройте файл и объявите класс

import java.util.Scanner;

class EliminateDuplicatesFromArray{

}

Согласно соглашениям java, имя файла и имя класса должны совпадать, что облегчает обслуживание и организацию ваших программ. Мы импортируем класс Scanner для приема входных данных

public static void main(String as[]){

}

Это начальный метод любой java-программы

Теперь объявите необходимые переменные, которые потребуются в программе.

  • Два массива один для ввода а другой для вывода
int[] list,pureList;
  • Размер массива
int len;
  • объект класса Scanner
Scanner s=new Scanner(System.in);

Это потребует, если мы будем использовать динамическую инициализацию

Два способа ввода/инициализации массива

  • Статическая инициализация
list={10,20,30,30,30,30,40,50,10,40,10,50,10,0,0,0,10,70,80,10,90,10,90,90,90};
  • Динамическая инициализация Для этого нам нужно принять входные данные от пользователя. Итак, нам нужен объект класса Scanner для получения входных данных, как было объявлено на шаге 3.
System.out.println("Enter Size of array");
int len=s.nextInt();

list=new int[len]; // instantiation         
for(int i=0;i ");
    list[i]=s.nextInt();  // initialization

}
pureList=removeDuplicates(list);

передача list в качестве входных данных методу removeDuplicates и он вернется в чистый список .

Создание второго метода

public static int[] eliminateDuplicates(int[] list){


}

почему статический ? потому что мы вызываем его из основного метода.

  • Объявлять переменные в устранять дубликаты метод
int key,newSize;
int[] pureList;

переменная key предназначена для выбора каждого элемента списка как ключ и сравнивая ключ с каждым элементом списка чистый список предназначен для хранения чистого массива NewSize это длина чистого списка Массив

7.1: Инициализация входные

newSize=list.length;

переменная списка будет содержать переданный нечистый массив В настоящее время новый размер будет содержать длину входного массива (нечистый массив) новый размер будет уменьшаться по мере удаления элемента.

7.2: Обработка массива [Фактическая логика]

for(int i=0;i
  • 1 – й Для цикла Выбор каждого элемента массива, присваивающего Ключ переменная
  • 2 – й Для цикла Выбор каждого элемента массива после ключа элемента
  • Оператор If, сравнивающий ключ с каждым элементом массива, исключая ключ Если совпадение найдено, то уменьшите переменную NewSize , потому что в 3-м цикле мы удаляем один элемент из массива
  • 3 – й Цикл For удаляет элемент из массива путем перемещения вверх следующего элемента

Теперь уменьшите счетчик 2-го цикла j на единицу, потому что после удаления элемента индекс следующего элемента станет индексом удаленного элемента. Таким образом, следующий элемент не будет пропущен для сравнения.

После этого list не имеет повторяющихся значений, но содержит фиктивные значения Поэтому скопируйте список с new Size length в pureList array.

pureList=new int[newSize]; //Instantiate pureList Array with newSize

for(int p=0;p
for(int x: pureList)//for each loop for display output
{
    System.out.println(x);
}

исходный код

Загрузите исходный код отсюда

А также, если у вас когда-нибудь возникнут какие-либо проблемы, вопросы или предложения, пожалуйста, не стесняйтесь писать мне или оставлять комментарии ниже.

Спасибо.

Оригинал: “https://dev.to/jsp/remove-duplicates-from-array-2k2d”