Как сравнить каждый элемент в двух разных наборах данных, а затем объединить некоторые элементы из них в новый набор данных?Слияние и сравнение двух массивов
Дополнительная информация о моих методах ниже. Примечание: Не используя java.lang.Collections
В один класс У меня есть эти вызовы инициализаторами:
BookCollection collection1 = new BookCollection(100);
BookCollection collection2 = new BookCollection(50);
BookCollection collection3 = new BookCollection(150);
И этот призыв к моему методу слияния (который я пытаюсь закончить)
collection3.merge(collection1, collection2);
Anndd в другом классе мой мето d merge пытается сравнить два набора данных (коллекции 1 и 2), и если он найдет равные элементы, добавьте только 1 из этих элементов в новую коллекцию. В противном случае добавьте все неравные элементы в новую коллекцию.
Вот что я сделал, но я знаю, что он не работает. Существует призыв к одному из моих других методов findBook, который я опубликую.
public BookCollection merge(BookCollection c1,BookCollection c2){
//use this. operator to grab other vars
BookCollection cNew = new BookCollection(cNew);
for(String s1: c1)
if (s1.equals(c2)) {
cNew = c1;
}
cNew = c1 + s1;
}
Annddd
private int findBook(String isbn){
// iterate all the Book elements in the collection array
for(int i = 0; i <= collection.length; i++){
// check if the current book isbn matches the one provided argument
if (collection[i].getIsbn().equals(isbn))
return i;
}
return -1;
}
Я конвертирую коллекции c1 и c2 в строки, а затем передаю их методу findBook, который выполняет итерацию по ним и возвращает целое число, которое затем присваивается значениям index1/2. Я написал для итерации, но получаю эту ошибку: error: _int не может быть разыменован, вы можете проверить мое редактирование? – jSeesFor3ver
Нет. Не вдавался в детали кода, но кажется слишком сложным. Поверь мне. Вам не нужны сумасшедшие преобразования из книги в строку, чтобы найти int и т. Д. И, если вы хотите создать список с книгами в BOTH коллекциях ввода, вы должны перебирать один из списков и пытаться найти, являются ли эти элементы в другой коллекции или нет. Важнее. Вы передаете книгу методу слияния. Какой класс коллекции? Это элемент ONE внутри коллекции. Вы должны пройти Collection, Список или Установить или что-то в этом роде. Вот почему я говорю вам думать снова и снова. –
helios
Что я имел в виду: возможно, у вас проблемы с отображением того, что вы хотите сделать, и кода, необходимого для этого. Но первая проблема заключается в поиске того, как представить вашу проблему и что вы хотите делать с вашими объектами (абстрактным образом). То, что мы называем алгоритмом. Вы даже не решили, как представлять коллекцию (ваш код даже не упоминает о какой-либо коллекции, списке или наборе). И WTF - это тот двойник, который вы возвращаете? Разве вы не должны возвращать другую коллекцию? – helios