2017-02-20 7 views
-3

現在、配列のすべてのインデックスに単一の値を格納しており、末尾に最後の1つを と格納しています。 マップのすべての値をint配列[]に格納します。だから、あなたが何を探していることは一人一人を追加でマップの(例:HashMap <Character、Integer> map)整数値をint配列[]に格納する方法は?

HashMap<Character, Integer> map = new HashMap<>(); 
//populate map 
Integer[] values = (Integer[])map.values().toArray(); 
+10

私はあなたが最初の事はあなたがそれはそれをやっている理由を理解するために持っているコードを注意深く見ていることを示唆しています。ヒント:ネストしたループは必要ありません。 –

答えて

0

: は、私のような何かを抱き合わせていますこの場合ののvalues[]valuesIntegerである。これを行うには、マップ内の値をループして配列に追加する必要があります。このため

は、あなたがこのような何かを行うことができます。

Map<Character, Integer> map = new HashMap<Character, Integer>(); 

    // fill map 

    int[] valuesArray = new int[map.size()]; 
    int i = 0; 

    for (int v : map.values()) { 
     valuesArray[i] = v; 
     i++; 
    } 
1

:あなたはmapの値のSetを取得して配列に変換することができ

HashMap<Character, Integer> map = new HashMap<>(); 
int values[] = new int[map.size()]; 

for(int v: map.values()){ 

    for(int i=0;i<values.length;i++){ 
     values[i] = v;    
            } 
         } 
関連する問題