Я хочу найти уникальные точки в наборе массивов точек (т. Е. Удалить все дубликаты и посмотреть, что осталось).Java - Поиск повторяющихся записей в нескольких массивах
Вот код, я пробовал:
int numCount = 0;
for (int x = 0; x < ALLARRAYS.length; x++) {
for (final Point test : ALLARRAYS[x]) {
NUMBER: for (final Point[] numbers : ALLARRAYS) {
if (numbers == ALLARRAYS[x]) {
continue;
}
for (int i = 0; i < numbers.length; i++) {
if (test.equals(numbers[i])) {
break NUMBER;
} else {
if (i == numbers.length - 1) {
numCount++;
}
}
}
}
if (numCount == 10) {
System.out.println(x + "\tPoint: " + test.x + ", " + test.y + " is unique.");
}
numCount = 0;
}
System.out.println();
}
В принципе, у меня есть одиннадцать массивов, я хочу, чтобы проверить, поэтому проверяет numCount на 10 массивах должны быть подтверждены. Мой подход состоял в том, чтобы циклически перебирать каждый массив, а затем циклически перебирать все точки в этом массиве, а затем циклически перебирать каждую точку в каждом другом массиве. Если он видит дубликат, он полностью пропускает все число.
Моя проблема: Я получаю ложные показания. Я не уверен, что происходит, но программа выплескивает точки, которые уже существуют в других массивах.
Моя цель: Каждый массив работает в целом. Если один элемент не выполняется, то весь массив пропускается. Мой конечный результат должен состоять из 11 массивов меньшего размера, которые являются уникальными, так что метод может проверять элементы каждого набора и определять, что они все уникальны.
ПРИМЕЧАНИЕ. Теперь массивы уникальны, они просто смехотворно огромны. Я ищу способ усечения, создав эту мини-программу для устранения дубликатов.
Мой вопрос: Может кто-нибудь, пожалуйста, помогите мне?
Что ваш вопрос? Этот код работает так, как вы ожидаете, или что-то не так с ним? –
Ну, я получаю ложные показания. Точки, которые он выплевывает, происходят в других массивах. – Confiqure
Не могли бы вы предоставить примерный ввод, фактический результат и ожидаемый результат, чтобы мы могли помочь выяснить причину этого? –