我有一个像这样的哈希表
hashtable = new Hashtable();
如何在不知道键的值对的情况下从哈希表中获取键(任何键都可以)?如果我可以从哈希表中随机选择一个键,那将是非常棒的,但我真正需要的只是从哈希表中提取一个键。
你可以这样做:
if (!hashtable.isEmpty()) {
Object firstKey = hashtable.keySet().iterator().next();
...
}
除此之外,此Hashtable
方法具有同步的开销,并且类本身已过时。考虑使用Map
集合 API 中的 a,例如 aHashMap
或LinkedHashMap
。还要使用泛型类型而不是原始类型来避免强制转换。
hashtable.keySet()
将返回一组键。要获取随机密钥,请使用
Object[] keys = hashtable.keySet().toArray();
Object key = keys[new Random().nextInt(keys.length)];
您可以keySet()
从哈希表中获取。
它将返回Collection
所有键中的所有键,这些键在您的情况下将为空,因为您没有将任何内容放入哈希表中。
使用 hashtable.keys() 方法获取哈希表的所有键。