0

我有一个像这样的哈希表

hashtable = new Hashtable();

如何在不知道键的值对的情况下从哈希表中获取键(任何键都可以)?如果我可以从哈希表中随机选择一个键,那将是非常棒的,但我真正需要的只是从哈希表中提取一个键。

4

4 回答 4

3

你可以这样做:

if (!hashtable.isEmpty()) {
   Object firstKey = hashtable.keySet().iterator().next();
   ...
}

除此之外,此Hashtable方法具有同步的开销,并且类本身已过时。考虑使用Map集合 API 中的 a,例如 aHashMapLinkedHashMap。还要使用泛型类型而不是原始类型来避免强制转换。

于 2013-04-11T18:26:46.807 回答
2

hashtable.keySet()将返回一组键。要获取随机密钥,请使用

Object[] keys = hashtable.keySet().toArray();
Object key = keys[new Random().nextInt(keys.length)];
于 2013-04-11T18:27:17.783 回答
1

您可以keySet()从哈希表中获取。

它将返回Collection所有键中的所有键,这些键在您的情况下将为空,因为您没有将任何内容放入哈希表中。

于 2013-04-11T18:27:09.983 回答
0

使用 hashtable.keys() 方法获取哈希表的所有键。

于 2013-04-11T18:27:55.060 回答