2011-01-03 10 views
0

私は区切り文字を使用して区切られたキーと値を持つ文字列配列を持っています。私は、キーの値のペアを分離し、それをHashMapに移動する必要があります。キー値ペアを持つ文字列を分離

文字列は次のとおりです。

String[] str={"12345$abcd","12332$abcgd","5555$afdsd"}; 
/* 
I need to move it to HashMap as key-value pairs 
12345=abcd 
12332=abcgd 
5555=afdsd 
*/ 

誰かが最も効果的な方法でこれを行うのを手伝ってもらえますか?

+3

効率を心配しないでください。あなたに最も論理的な方法で試してみてください。次に、最適化についての心配は解決策が遅すぎることです。 String APIで始まり、indexOf()とsubstring()メソッドを使用してください。また、「効率的」を定義する。正規表現を使用するすべてのソリューションは、最も効率的ではありません。 – camickr

+0

最も明白なアプローチを使用して、1ミリ秒未満で10,000個以上のプロパティを分割できるはずです。これが十分に速くない場合は、最適化することができます。 –

答えて

4
String[] str={"12345$abcd","12332$abcgd","5555$afdsd"}; 

Map<String, String> map = new HashMap<String, String>(); 
for(final String s : str) { 
    final String split[] = s.split("\\$"); 
    map.put(split[0], split[1]); 
} 
1
String[] str={"12345$abcd","12332$abcgd","5555$afdsd"}; 
Map<String, String> mp = new HashMap<String, String>(); 
for(String string: str){ 
mp.put(string.split("\\$")[0],string.split("\\$")[1]); 
} 
+2

$は特別な正規表現のcharです。そして、あなたは2回に分割しない方が良いでしょう;) – Bozho

+0

@Bozhoは修正されました –

関連する問題