名前のリストがあり、各人が 1 つの電話番号を持つシステムを実装しています。名前から電話番号を調べたり、電話番号から名前を調べたりできる必要があります。
名前から電話番号へのハッシュテーブルと、電話番号から名前へのハッシュテーブルの 2 つのハッシュテーブルを使用することで、これを実行できることがわかっています。その後、O(1) 時間でどちらの方向にも上を向くことができます。ただし、これはあまりにも多くのデータを保存しているようです。すべての名前と電話番号が 2 回保存されます。
これをより効率的に行う方法はありますか?名前と電話番号を保存するには、どのデータ構造を使用すればよいですか?
関連する場合は、Javaでコーディングしています。
どうもありがとう!