问题: 编写一个名为personIndex()的方法,在其中传入person对象的ArrayList。将每个人对象及其对应的ID号放在HashMap中。按顺序返回人物对象的集合。
有人可以解释/展示我会怎么做吗?
这是我的代码:
public Collection<person> personIndex(ArrayList<Person> parameterArr)
{
HashMap<String, Person> answerMap = new HashMap<String, Person>();
for (Person p: parameterArr)
{
answerMap.put(p.getID(), p)
}
return answerMap.values();
}
问题:我的代码是否正确?它会归还一个集合吗?
我想知道这是否是一种返回集合的语法正确方法,还有你如何编写这个方法?
问题:
当你编写方法时,没有返回任何内容,但是编译器说一切都是语法正确的
谢谢!
答案 0 :(得分:0)
您似乎没有遇到任何问题,除了没有资本化之外,#34; person&#34;在您的方法中返回类型以表示Person
类。
enhanced-for
循环完成后,您得到一个散列映射的结果,其中键是类型为String
的人员ID,值为Person
个对象。如果你想按顺序返回带有键的hashmap(1 ... 2 ... 3 ... 4),你可以看到这个问题how to sort Map values by key in Java。由于String
已经实现了Comparable
接口,因此我链接的问题中的各种方法将使用预定义的排序方法(来自String
类)来对字符串进行排序。
对hashmap进行排序后,您可以将值作为集合获取并返回该值,因为现在它将根据ID进行排序。
将来请展示您在hashmap中订购密钥的尝试。