добавить значение карты, чтобы установить, если оно соответствует аргументу - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь добавить объект в набор, если значение карты соответствует аргументу. карта настроена следующим образом: -

Map<String, Person> people = new HashMap<>();

Пока я пытался: -

public Set<Person> findPersonInAgeCat(char ageCat) {
    Set<Person> anAge = new HashSet<>();
    for (Person eachPerson : people.values()) {
        boolean result = personSet.containsValue(ageCat);
        if (result) {
            anAge.add(eachPerson);
        }
        return anAge;

хорошо, теперь я попробовал это.

   public Set<Person> findPeopleInAgeCat(char ageCat)
{ 
    Set<Person> anAge = new HashSet<>();

     for (Person peopleValues : people.values()) 
     {
        Set<Person> values = new HashSet<>();
        values.add(peopleValues);
        for (Person info : values)
        {  
           if (values.contains(ageCat))
           {
              anAge.add(info);
           }
        }

     }
   return anAge;

}

Который компилируется, но не добавляет никаких элементов в набор. Я создал экземпляры людей, и они добавляются на карту с именами, адресами и возрастными категориями, но по-прежнему не добавляют людей в набор.

1 Ответ

0 голосов
/ 01 мая 2020
  public Set<Person> findPeopleInAgeCat(char ageCat)

{
    Set<Person> anAge = new HashSet<>();
    Set<Person> values = new HashSet<>();

    for (Person eachPerson : people.values())   
    {  
       char anAgeCat = eachPerson.getAgeCategory();
        if (anAgeCat == ageCat)
        {
           anAge.add(eachPerson);
        }
    }

    return anAge;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...