void otherfunc() {
Map<Key, Value> map = new MyMap<>();
myfunc(map);
}
void myfunc(Map<Key, Value> map) {
Key k = someKey;
Value v = someValue;
map.put(k, v);
}
mymap是否需要从呼叫者角度将这些参考保留到k和v完整?
HashMap
将存储您在其中 put
的键和值。您可以使用keySet()
获取所有键。
team1.put("foo", 1);
team1.put("bar", 2);
将使用键"foo"
和2
使用键"bar"
存储1
。迭代所有键:
for ( String key : team1.keySet() ) {
System.out.println( key );
}
将打印"foo"
和"bar"
。
for ( String key : team1.keySet() ) {
System.out.println( team1.get(key) );
}
将打印1
和2
。
映射接口没有任何 put
的k-v映射,通常可用于get
(或在values
等列表中找到),在任何给定的将来的时间)。例如,您可以使用仍然是有效的Map
的内部收割机线程实现到期的缓存。(Javadoc'dk jdk自己的弱hashmap的人也宣称这种行为是"令人惊讶的",但不是无效的。)