У меня есть два списка с объектами, где list1 (имена) имеет только fullnames without middlenams
, а еще один список2 (полные имена) имеет fullnames with middle names
. Если list1 имеет имя barack obama
, а list2 имеет имя barack hussein obama
, то это же, но с middlameame. Затем я должен удалить запись barack obama
в списке1.Сравнение, обработка и удаление записи в списках в Java
Я пробовал под кодом, но он не удалял записи в списке1.
public class Test {
public static void main(String args[]) {
List<String> names = new ArrayList<>()
names.add("shannon sperling");
names.add("john smith");
names.add("Mary Smith");
names.add("kim taylor");
names.add("Barack obama");
List<String> fullnames = new ArrayList<>();
fullnames.add("Mary Elizabeth Smith");
fullnames.add("Lou Henry Hoover");
fullnames.add("Barack hussein obama");
for(Object process :names)
{
if(fullnames.contains(process))
{
names.remove(process);
}
}
System.out.println(names);
}
}
Но объект не содержит метода, затмение предлагает лить process1. – sara
это не сработает, потому что Object process не имеет метода '.contains()' и 'String.contains()' будет возвращать 'false', если String разделяется примером среднего имени. – Simulant
полностью согласился, собирался отредактировать, прежде чем вы, ребята, –