Я пытаюсь удалить все повторяющиеся объекты с тем же значением в одном свойстве. У меня есть courses[]
объектов, и все они содержат courseLevel
, который состоит из четырех цифр integer
.Проверка значения текущего объекта по сравнению с другими
Я приращение x
от 0
в цикле и хранение данных и переустановка его каждый итерации цикла, чтобы сохранить новую информацию в следующем увеличивается courses[x]
объекта.
for (int n = 0; n < courses.length; n++) {
if (courses[x].getCourseLevel() == courses[n].getCourseLevel()) {
System.out.println("Duplicate" + courses[x]);
}
}
Как вы можете видеть, я начинаю с courses[x]
и хочу проверить, если его courseLevel
равно любые из других объектов, которые были созданы в эту точку, но проблема она проверяет его сам, как я могу проверить все courses[n]
За исключением courses[x]
Пробовал использовать equals(), но не смог сравнить типы int.
Вы можете попробовать '&& х! = N' – Compass
Чем проще всего было бы переопределить' равна() 'и' хэш-код() 'методы, а затем поместить все объекты в' Set', чтобы получить только уникальные объекты. – user2004685
Я на самом деле пробовал это. Я добавил все свои объекты в список. Затем к набору и обратно в список. Затем я отсортировал их по курсуLevel (по возрастанию). У меня все еще есть дубликаты. – OneU