我是Java编程和Hashmap的新手,我有一个需要帮助的问题。
我有一个存储对象集合的Hashmap:
private HashMap <String, Turtle> turtles = new HashMap<String, Turtle>();
我还添加了一组形状,这些形状已添加到Turtle类中:
ArrayList<String> shapes = new ArrayList<String>();
我正在尝试做的是找到一种方法,以便通过传递
String turtleName
和String 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/