这是我在 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/