【发布时间】:2020-04-29 19:06:15
【问题描述】:
我在解决这个任务时遇到了问题。我必须从名为“phoneBook”的二维数组中创建一个地图。 到目前为止,这是我的代码:
Map<String, String> phoneBook2 = new HashMap<String, String>();
for (int i=0;i<phoneBook.length;i++){
phoneBook2.put("firstname",phoneBook[i][0]);
}
for (int i=0;i<phoneBook.length;i++){
phoneBook2.put("surname",phoneBook[i][1]);
}
for (int i=0;i<phoneBook.length;i++){
phoneBook2.put("phoneNumber",phoneBook[i][2]);
}
我的想法是将二维数组的值插入到带有名字、姓氏和电话号码键的地图中。我看到只有最后一个值被分配给键。我可以只为一个键分配一个值吗?
第二个问题是那些断言代码必须工作:
assert phoneBook2.get(0).get("firstname").equals(phoneBook[0][0]);
assert phoneBook2.get(0).get("surname").equals(phoneBook[0][1]);
assert phoneBook2.get(0).get("phoneNumber").equals(phoneBook[0][2]);
assert phoneBook2.size() == 100;
如您所见,调用了两个 get 函数,所以我想我必须创建两个键。
【问题讨论】: