编写一个遍历 Map 的方法,查找包含值的 Object 条目,将此 Object 添加到一个新集合,然后 returns 该集合
Writing a method that itterates over a Map, looks for Object entries that contain a value, adds this Object to a new set then returns that set
我正在学习如何在 Java 中编写代码,并且在这个概念上苦苦挣扎。
我需要编写一个方法,该方法采用一个 char 参数,该参数存在于地图中的对象中。
它需要 return 一个当前不存在的包含此 char 值的对象集作为一个新的集,在遍历地图以找到这些对象后。
以下是我当前的代码,它没有得到我想要的结果,我相信问题出在 if 语句中。我在对象和地图上做了很多 equals()
和 containsValue
的不同组合,但似乎无法达到 return true。
public Set findObj(char aChar)
{
Set<String> objSet = new HashSet();
for (Object Obj: map1.values())
{
if (map1.values().contains(aChar))
{
//if true add to objSet
}
}
return objSet;
}
如果有帮助,地图是
Map<String,Obj> map1= new HashMap<>();
并且该对象由 class 创建并包含 3 个变量、2 个字符串和一个是我试图在地图的每次迭代中找到的 char 值。
你是对的,问题主要出在你的 if 语句中,因为你正在遍历地图中的对象,你应该检查 当前对象 是否包含字符串 not整个地图是否包含它
public Set findObj(char aChar) {
Set<String> objSet = new HashSet();
for (Object c : map1.values()) {
if (c.toString().indexOf(aChar) >= 0) {
//if true add to objSet
}
}
return objSet;
}
我正在学习如何在 Java 中编写代码,并且在这个概念上苦苦挣扎。 我需要编写一个方法,该方法采用一个 char 参数,该参数存在于地图中的对象中。
它需要 return 一个当前不存在的包含此 char 值的对象集作为一个新的集,在遍历地图以找到这些对象后。
以下是我当前的代码,它没有得到我想要的结果,我相信问题出在 if 语句中。我在对象和地图上做了很多 equals()
和 containsValue
的不同组合,但似乎无法达到 return true。
public Set findObj(char aChar)
{
Set<String> objSet = new HashSet();
for (Object Obj: map1.values())
{
if (map1.values().contains(aChar))
{
//if true add to objSet
}
}
return objSet;
}
如果有帮助,地图是
Map<String,Obj> map1= new HashMap<>();
并且该对象由 class 创建并包含 3 个变量、2 个字符串和一个是我试图在地图的每次迭代中找到的 char 值。
你是对的,问题主要出在你的 if 语句中,因为你正在遍历地图中的对象,你应该检查 当前对象 是否包含字符串 not整个地图是否包含它
public Set findObj(char aChar) {
Set<String> objSet = new HashSet();
for (Object c : map1.values()) {
if (c.toString().indexOf(aChar) >= 0) {
//if true add to objSet
}
}
return objSet;
}