帮助在Java中使用递归
我有一个班级帮助在Java中使用递归,java,recursion,Java,Recursion,我有一个班级小组。在类中,我有两个字段,IdGroupGroupIdGroupGroup。组可能是其他组的一部分。我的类组在HashMap中定义;键是IdGroupGroup,值是idGroup。我想在地图上搜索特定的idGroup;我可以用递归来做这个吗 class Group { int idGroupe String word } HashMap<Integer,Integer> GroupeGroupe = new HashMap<Integer,I
小组。在类中,我有两个字段,IdGroupGroup
IdGroupGroup
。组可能是其他组的一部分。我的类组
在HashMap
中定义;键是IdGroupGroup
,值是idGroup
。我想在地图上搜索特定的idGroup
;我可以用递归来做这个吗
class Group
{
int idGroupe
String word
}
HashMap<Integer,Integer> GroupeGroupe = new HashMap<Integer,Integer>();
GroupeGroupe.put(idGroupeGroupe, idGroupe)
类组
{
int-idGroupe
字符串字
}
HashMap groupGroup=新HashMap();
GroupeGroupe.put(idGroupeGroupe,idGroupe)
对于一个模糊的问题,我不得不猜测很多,但也许你在寻找这样的东西:
import java.util.*;
public class Test {
static Map<Integer, Integer> groups = new HashMap<Integer, Integer>();
public static void main(String... args) {
groups.put(1, 2);
groups.put(2, 3);
groups.put(2, 4);
groups.put(4, 5);
System.out.println(searchFor(1, 5));
}
private static String searchFor(int from, int target) {
// Target found?
if (from == target) return "" + target;
// Dead end?
if (!groups.containsKey(from)) return null;
// Recurse and try to find it from here.
String path = searchFor(groups.get(from), target);
return path == null ? null : from + " -> " + path;
}
}
我不确定我是否理解你的问题,但我会尽力回答。
如果您有一个带有条目的java HashMap,我是否正确地理解了您?
在这种情况下,每个idGroupGroup(java api)只有一个条目:
将指定的值与
此映射中指定的键。如果
映射以前包含的映射
键,则替换旧值
如果这很好,您只想对所有可以使用的元素进行递归:
public Collection<V> values()
公共集合值()
返回的集合视图
此映射中包含的值。这个
集合由地图支持,所以
地图的更改将反映在中
收藏,反之亦然。如果
在迭代过程中修改映射
收集工作正在进行中
(除了通过迭代器自己的
删除操作),然后返回
迭代是未定义的。这个
集合支持元素移除,
这将删除相应的
从地图映射,通过
迭代器.remove,集合.remove,
移除、保留和清除
操作。它不支持
添加或添加所有操作
看看:
干杯,
Jørgen可以显示类的定义吗?如果要将IdGroupGroup
映射到idGroup
并且需要搜索idGroup
,则可能使用了错误的数据结构class Group{int-idGroup int-IdGroupGroup}示例a组中有a组和B组,我可以添加另一组B,这不是您在上面给出组定义时发布的。你能用所有相关代码编辑你的问题吗(两个类,以及你的HashMap
,等等)?只需搜索你地图示例的第一个元素(键)搜索1输出->1有2,2是键,有3,然后停止,因为3不是地图的键
hello world !
public V put(K key,V value)
public Collection<V> values()