java - 添加一个映射值来设置它是否与参数匹配

标签 java loops hashmap

如果映射值与参数匹配,我将尝试将对象添加到集合中。 map 设置为:-

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;

}

它可以编译,但不会向集合中添加任何项目。 我已经创建了 People 的实例,并将它们添加到 map 中,其中包含名称、地址和年龄类别,但仍未将任何人员添加到集合中。

最佳答案

  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;
 }

关于java - 添加一个映射值来设置它是否与参数匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61523260/

相关文章:

java - 使用 Jackson 将 JSONArray 转换为 Map

java - 为什么 Sun Java 中的 HashSet 实现使用 HashMap 作为其后盾?

java - 不安装Git的Jgit使用

java - 无法使用registerlistener来使用Step_counter - Android

php - 在 PHP 中循环需要时间, fatal error : Maximum execution time of 120 seconds exceeded in

ruby - 时间循环不循环

java - 在具有数百万个对象(具有不同键)的 HashMap 中以 O(1) 时间插入/删除?

java - Spring MVC 初始化一个对象

java - 如何迭代数组并跳过一些?

java - 为什么使用 do while 循环时会跳过 nextLine