我是Java编程和Hashmap的新手,我有一个需要帮助的问题。

我有一个存储对象集合的Hashmap:

private HashMap <String, Turtle> turtles = new HashMap<String, Turtle>();


我还添加了一组形状,这些形状已添加到Turtle类中:

ArrayList<String> shapes = new ArrayList<String>();


我正在尝试做的是找到一种方法,以便通过传递String turtleNameString shapeName的参数,将具有指定名称的形状对象添加到具有指定名称的乌龟对象中。

我不知道如何使用ArrayList和Hashmap。

最佳答案

据我了解您的问题,您需要做的是:


使用Turtle键在Map中获取相应的turtleName
为此List获取Turtle并将shapeName添加到List


也可以用Java代码翻译:

public void addShapeNameToTurtle(String turtleName, String shapeName){
    turtles.get(turtleName).getList().add(shapeName);
}


其中getList()返回与当前Turtle实例关联的shapes

首选方法是在addShapeName类中添加Turtle方法(这会将您传入的参数String添加到List),然后将调用简化为turtles.get(turtleName).addShapeName(shapeName);

您还必须检查映射中是否存在映射,并且获取时List不为空。

另外,您应该阅读两个类的Javadoc,以大致了解这两个类的availables方法:


HashMap
ArrayList

关于java - 将Hashmap与数组进行比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23715841/

10-08 22:33
查看更多