Man*_*noj 0 java collections hashmap
我有一个哈希映射,如,
public static void main(String[] args) {
final Map<String, String> daysMap = new HashMap(7);
daysMap.put("1", "Sunday");
daysMap.put("2", "Monday");
daysMap.put("3", "Tuesday");
daysMap.put("4", "Wednesday");
daysMap.put("5", "Thursday");
daysMap.put("6", "Friday");
daysMap.put("7", "Saturday");
}
Run Code Online (Sandbox Code Playgroud)
在此映射中
1.不应允许放置超过7个元素
2.不应更新相应键的值[如daysMap.put("5","xxx");]
3.不应允许删除任何键
怎么做?
您可以实现新的HashMap
public class CoolMap<K, V> extends HashMap<K, V> {
@Override
public V put(K key, V value) {
if (size() == 7) {
throw new IllegalStateException("Size is at max!");
} else {
// If there is something already with that key
if (containsKey(value)) {
// do nothing
return value;
} else {
// put inside
return super.put(key, value);
}
}
}
@Override
public void putAll(Map<? extends K, ? extends V> collection) {
if (collection.size() > 7) {
throw new IllegalStateException("Size is at max!");
} else {
super.putAll(collection);
}
}
@Override
public V remove(Object key) {
return null;// doesn't remove anything
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9257 次 |
| 最近记录: |