如何在blackberry的哈希表中将null作为键值处理?
正如我所知,哈希表不允许null。 如果要放置密钥对值,如何处理它?如何在blackberry的哈希表中将null作为键值处理?,blackberry,java-me,hashtable,Blackberry,Java Me,Hashtable,正如我所知,哈希表不允许null。 如果要放置密钥对值,如何处理它? 黑莓还有其他选择吗???你可以用这样的东西扩展哈希表 class NullKeyHashtable extends Hashtable { private static Object NULL = new Object(); private Object nullToNull(Object key) { return key == null ? NULL : key; } p
黑莓还有其他选择吗???你可以用这样的东西扩展哈希表
class NullKeyHashtable extends Hashtable {
private static Object NULL = new Object();
private Object nullToNull(Object key) {
return key == null ? NULL : key;
}
public Object put(Object key, Object value) {
return super.put(nullToNull(key), value);
}
public Object get(Object key) {
return super.get(nullToNull(key));
}
...
}
您想保留null作为键吗?在
哈希表中不能这样做。替换旧的不推荐使用的HashTable
用于HashMap
@LuiggiMendoza BlackBerry JDK中没有HashMapHashTable
不支持null键,而HashMap
则支持null键。如果您正在查找synchronized
集合,则可以使用synchronizedMap
<代码>集合.synchronizedMap(新HashMap)
@Jayamohan Multimap不允许空键,因为它在内部使用哈希表
将键映射到值集(刚刚测试)。此外,顾名思义,您可以将多个值映射到一个键,因此即使它允许空键,它也不能直接替换哈希表
。很好,但您还必须重写containsKey
和remove
。