У меня есть список телефонных номеров, и мне нужно фильтровать по типу телефона.Конечным результатом должен быть один объект (PhoneUsageType).Пример сценария 1. Если в списке есть 2 разных типа телефонных номеров, таких как Cell_Phone и Home_Phone, он должен вернуть мне только объект Cell_Phone.2.Если у него есть только Cell_Phone, то он должен вернуть мне тот же объект 3. Если у него нет Cell_Phone, то он должен вернуть мне Home_Phone
Cell_Phone должен быть предпочтительным объектом, если он доступен в списке
Использование list.stream (). Filter
Код
PhoneUsageType phone1 = new PhoneUsageType();
PhoneUsageKeyGrpType keyGroup1 = new PhoneUsageKeyGrpType();
keyGroup1.setPurposeCode("CELL_PHONE");
phone1.setPhoneUsageKeyGrp(keyGroup1);
PhoneNumberType phoneNumber1 = new PhoneNumberType();
phoneNumber1.setFullNumber("123");
phone1.setPhoneNumber(phoneNumber1);
PhoneUsageType phone2 = new PhoneUsageType();
PhoneUsageKeyGrpType keyGroup2 = new PhoneUsageKeyGrpType();
keyGroup2.setPurposeCode("CELL_PHONE");
phone2.setPhoneUsageKeyGrp(keyGroup2);
PhoneNumberType phoneNumber2 = new PhoneNumberType();
phoneNumber2.setFullNumber("456");
phone2.setPhoneNumber(phoneNumber2);
List<PhoneUsageType> phoneUsageList = Lists.newArrayList();
Пожалуйста, помогите мне написать логику.Заранее спасибо.Дайте мне знать, если вам нужно больше деталей.