java - 从 map 内的列表中查找对象

标签 java

这是我在 Stackoverflow 中的第一个问题。我来发现一个问题,其中一个问题是我的同事建议的,并给我做一些研究。

我的问题是 我有一个类

   Class Function{
    String func;
   String funcname;
   boolean log;
   }

我创建了一些对象:

 obj1 : ("a" ,"b",true)- //these values come from either DB or UI
obj2 : ("c" ,"x",true)
obj3 : ("a" ,"z",true)

我有一个列表:

      List<function> flist;

现在我想在 map 中包含该列表,并希望将其放入 map 中

     Map<String, List<function>> funcMap

然后显示以下输出:

    a:[obj1 obj3]
    b:[obj2]

如果我有列表,但如何根据需要找到上述输出

最佳答案

试试这个,

添加flist中的所有对象。

初始化 map

  Map<String, List<Function>> funcMap = new HashMap<String, List<Function>>();

根据对象将添加到值列表的 func 值,将对象添加到相关的key

  for (Function functionValue : flist)
    {
        List<Function> functionList = funcMap.get(functionValue.getFunc());
        if (functionList != null && !functionList.isEmpty())
        {
            functionList.add(functionValue);
        }
        else
        {
            functionList = new ArrayList<Function>();
            functionList.add(functionValue);
            funcMap.put(functionValue.getFunc(), functionList);
        }
    }

最后打印 funcMap

    for (Map.Entry< String, List<Function>> entry : funcMap.entrySet())
    {
        System.out.println("Key :  " + entry.getKey() + "Values : "+entry.getValue());
    }

关于java - 从 map 内的列表中查找对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19290271/

相关文章:

java - 如何将房间数据库中的列表数据添加到android中的警报对话框

java - 如何在 Java 的构造函数中设置默认字符串格式?

java - JVM 如何处理引用变量?

java - 使用 Maven 加载 wicket 示例项目

java - 更改 JLabel 的一部分的字体?

java - 我尝试在Intellij中使用gluon运行新项目时出错

java - Apache Ant 在运行此脚本时被卡住

java - 有没有办法在tomcat中设置超时?

Java - 检查嵌套在 HashMap 中的 ArrayList 中的值是否存在

java - 如何将序列当前值更改为之前的值?