min*_*ino 2 java arraylist hashmap map
以前我设置了一个ArrayList来包含记录对象.我已经用存储对象的HashMap替换了ArrayList,并使用个人的用户名字符串作为键.
这个目录的类实现了Iterable implements Iterable<Object>(只是一个问题,但为什么<Object>需要?).
用于迭代ArrayList的先前代码是:
public Iterator iterator() {
return records.iterator();
}
Run Code Online (Sandbox Code Playgroud)
然后我使用此迭代器来处理该类中的所有对象,如下所示:
for (Object o : directory) {
TelephoneRecords temp = (TelephoneRecords) o;
System.out.println(temp.toString());
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,HashMapName.iterable(); 似乎引发了问题,那么我如何使用HashMap来解决这个问题呢?
如果您只对键感兴趣,可以遍历地图的keySet():
Map<String, Object> map = ...;
for (String key : map.keySet()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
如果您只需要值,请使用values():
for (Object value : map.values()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
最后,如果您同时需要键和值,请使用entrySet():
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
// ...
}
Run Code Online (Sandbox Code Playgroud)
希望这对你有所帮助.
| 归档时间: |
|
| 查看次数: |
1283 次 |
| 最近记录: |