У меня есть два списка, в которых я повторяю один список и пытаюсь сопоставить некоторые элементы, а затем заменять содержимое одного списка другим.Как я могу добавить этот список в java?
public static void setLtItems(List<ItmResponse> list1, List<ItmResponse> list2){
ListIterator<ItmResponse> list1Iterator = list1.listIterator();
while (list1Iterator.hasNext()) {
ItmResponse a= list1Iterator.next();
for (ItmResponse b : list2) {
if (a.getOrgTransNo().equalsIgnoreCase(b.getOrgTransNo())) {
// replace the item in list1 with the list2 item
list1Iterator.set(b);
}
}
Приведенный выше код работает нормально, но если список 2 имеет еще один элемент, который соответствует с элементом list1, который не добавляется к list1, потому что песни1 содержит только один элемент и список имеет 2 пунктов, который соответствует с list1 пункт. Поэтому после замены 1-го элемента списка2 в списке1 я должен добавить второй элемент списка 2 в список1 как второй элемент. Как это сделать в java?
так первый раз, когда вы используете 'набор 'а затем после этого использовать' add'? –
Ya but 'while (list1Iterator.hasNext())' будет иметь только один элемент. Это проблема. – coderman
см. Мой ответ, если я правильно вас понимаю, это должно работать –