2016-03-19 9 views
0

誰でもハッシュマップを反復処理し、値を文字列配列に格納する手助けはできますか? 私は2つのキーとそれぞれのキーの下の対応する値を持つハッシュマップを持っています。値の設定が大きいので、各キーのハッシュマップから値を繰り返し、文字列配列に格納したいと考えています。助けてください。ハッシュマップの反復と文字列配列への値の取得

+0

同じ文字列配列内のすべての値を欲しいですか?値がどのようなキーであってもかまいませんか?また、どのデータ型が値ですか?それは配列ですか?リスト? – Dom

+0

@Dom同じキーの下にあるすべての値を配列にしたい。私はキーといくつかの値をhashmap.bothのキーの下に格納しています。キーと値は文字列です – ellie

答えて

3

これを試してみてください:

List<String> valuesList =new ArrayList<>(); 

for(String key:mHash.keySet()){ 
    valuesList.add(mHash.get(key)); 
} 

文字列配列へ:

String[] stockArr = new String[valuesList.size()]; 
stockArr = valuesList.toArray(stockArr); 
+1

私はこのコードを理解しませんでした。私のハッシュマップにキーの「国」とキーの下にたくさんの値がある場合、その値を文字列配列にどのように取得しますか?あなたが教えてくれますか? – ellie

1

があなたのハッシュマップと同じサイズの新しい文字列配列を作ります。 ハッシュマップをループし、各反復を配列の要素に割り当てます。

String[] stringArray = new String[mHashMap.keySet().size()]; 
int i = 0; 
for(String key: mHashMap.keySet()){ 
    stringArray[i] = mHashMap.get(key); 
    i++; 
} 

次のように私は上に示した、と別としてもコメントしているためのループを読み取ることができます:

for(String key : mHashMap.keySet()){ 
//do this 
} 

"for all keyStrings in myHashMap.keyStringSet(), do this" 
eg. for each item in the hashmap, do whatever is in the brackets. 

あなたの文字列配列が完成します。

+0

まだ私は私がwant.iキーを知っている値を反復する方法については明確ではありません。一つのキーの下に約50の値があります。私が望むのは、それらのキーの下のすべての値を別々の配列に入れることです。助けてください。 – ellie

+0

ハッシュマップは1つのキーに対して1つの値を格納しますが、同じキーで複数の値を持つことはできません。 –

関連する問題