По сути, в настоящее время я сталкиваюсь с проблемой:
List<List<Person>> logLists;
Мне дан список, подобный приведенному выше, который в основном представляет собой список журналов, каждый журнал представляет собой список объектов Person с определенными полями.То, что я пытаюсь сделать, - это создать список объектов в каждом списке в logLists, которые имеют одинаковое значение для одного поля.
Например, если каждый объект - это человек, как выше, и класс персонажаопределяется как:
public class Person {
private String name;
private String socialSecurityNumber;
public Person(String name, String socialSecurityNumber) {
this.name = name;
this.socialSecurityNumber = socialSecurityNumber;
}
//implementation of methods...
}
Тогда как мне найти объекты-личности, номера социального страхования которых являются общими для ALL из предоставленных журналов (каждый список в приведенном вышевложенный список)?
String socialSecurityNumber;
Другими словами, я хочу найти людей, которые есть в каждом журнале;подвох в том, что я могу идти только по номеру социального страхования, потому что некоторые люди в журналах могут быть под разными именами, но при этом иметь одинаковый SSN.
Я просто хочу получить представление о том, как я могу пройти по этому вложенному списку и составить отдельный список людей, общих с ALL журналасписки (с точки зрения уникального идентификатора: номер социального страхования).
Псевдокод или просто объяснение того, как подойти к этой проблеме, было бы неплохо.
Я пробовал
Set.retainAll;
, что бесполезно, потому что, хотя он и автоматизирует вещи, он проверяет эквивалентность объектов, когда я просто хочу посмотреть, эквивалентно ли одно поле.