2016-12-06 16 views
0

(それはローカル使用のためです)最善の方法、値

当社電話番号の長さは8〜10、地域コードの長さは4または5です。

  1. 地域コードを保存するにはどうすればよいですか?この理由でHashMap<Integer, String>が適切です<region code, region name>? (各都市のデータが200のレコードのゴマことができる)

  2. これを検索するいただきました!最良の方法は?以前の地域コードの長さは4または5である可能性があると言いましたが、最初に4桁の数字を検索し、5桁の検索結果がない場合は、

答えて

1

うん。 HashMapを使用してデータを格納できます。 HashMapのkeySet()メソッドを使用してデータを格納した後、ソートされた(昇順)セットとしてすべてのキーのリストが取得されます。

その後、Setのcontains()メソッドを使用すると、地域コードが4桁または5桁に関係なく存在することがわかります。そうでない場合は、偽を返してから5桁を試すことができます。

は、あなたの地図にそのキー(リージョンコード)を提出することにより、あなたは簡単に地域名を取得します。

1

ハッシュマップを使用するのが最善の方法です。

HashMap<String, Integer> hm = new HashMap<String, Integer>(); 
hm.put("yourKey", 12345); 
...//repeat as needed 
hm.get("yourKey"); 

そして、それはあなたの値を取得する最も簡単な方法になります:あなたが何かを行うことができますので、それは、O(1)の実行時間を持っているので、キーを検索するとき。値が存在する場合はマップされた値を返し、そうでない場合はマッピングがない場合はnullを返します。キーの長さは無関係です。