0

私はそのようなハッシュテーブルを持っています

hashtable = new Hashtable();

キーの値のペアを知らなくても、ハッシュテーブルからキーを取得するにはどうすればよいですか (どのキーでも構いません)。ハッシュテーブルからキーをランダムに選択できれば素晴らしいですが、実際に必要なのはハッシュテーブルからキーを抽出することだけです。

4

4 に答える 4

3

あなたがすることができます:

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

これとは別に、このHashtableメソッドには同期のオーバーヘッドがあり、クラス自体は廃止されています。Mapや など、コレクション API のを使用することを検討してHashMapくださいLinkedHashMap。また、キャストを避けるために生の型ではなくジェネリック型を使用してください。

于 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()ハッシュテーブルから取得できます。

CollectionHashtable に何も入れていないため、空になるすべてのキーが返されます。

于 2013-04-11T18:27:09.983 に答える
0

hashtable.keys() メソッドを使用して、ハッシュテーブルのすべてのキーを取得します。

于 2013-04-11T18:27:55.060 に答える