1

キーと値の両方を含む2つのハッシュマップがあります。私の目的は、ハッシュマップの 1 つで重複を見つけることです。重複が検出された場合は、キーを抽出します。ハッシュマップでそれを行う方法を教えてください。

基本的に、最初のハッシュマップには駅 ID が保存され、2 番目のハッシュマップには駅名が保存されます。ユーザーが電車 1 号線の乗車駅と電車 2 号線の降車駅に入ると、その場所に行くために電車を変更する必要があることを知らせるようにコーディングするにはどうすればよいですか?他の電車の路線の場所。

ややこしい説明で申し訳ありません。

お役に立てれば幸いです!ありがとうございました!

4

2 に答える 2

1

2 つの異なるマップで重複するキーを探している場合、それは簡単です。

Set set1 = new SomeKindOfSet(map1.getEntrySet());  // makes a copy, important!
Set set2 = map2.getEntrySet();
set1.retainAll(set2);

ただし、重複する値を探している場合はさらに困難です。サードパーティの「双方向」マップがいくつかあります。しかし、あなたが本当に何を望んでいるのか理解できないので、言うのは難しいです.

于 2012-05-17T20:32:12.803 に答える
0

値が重複しているということですね。そして、それはすべてのキーのすべての値を意味すると仮定します。

申し訳ありませんが、ここで間違ったレベルの抽象化を使用している可能性があります。2 つのハッシュ マップでこれを実現するためにコードをゆがめないでください。オブジェクト (Java はオブジェクト指向言語) を使用して抽象化を作成します。これは、モデル化しようとしているものを表し、API を構築して、ユーザーが簡単に処理できるようにします。

于 2012-05-17T19:59:54.673 に答える