2017-01-24 4 views
0

内の値を合計しますは、どのように私は、入力ファイルを読んでいたJavaのHashMap

Tuesday 50.40000000000001 
Friday 35.5 
Wednesday 51.5 
Friday 46.49999999999999 
Thursday 47.89999999999999 
Friday 42.60000000000001 
Tuesday 48.900000000000006 
Thursday 47.300000000000026 
Thursday 50.90000000000001 
Wednesday 52.1 
Monday 52.50000000000001 
Thursday 53.1 
Tuesday 49.000000000000014 
Monday 36.900000000000006 
Wednesday 46.70000000000001 
Thursday 51.30000000000002 
Monday 49.99999999999998 

が、私は毎日をフィルタリングし、そのすべての値を合計したい - 、そうでその後、火曜日とをすなわち、すべての月曜日の値を追加します。どのように私はJavaでそれを行うことができます。私はハローマップを使用しようとしましたが、私はそれを行うことができませんでした。私は助けてください。

public static void main(String[] args) throws NumberFormatException, IOException 
    { 
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("weekly.txt"))); 
    String line; 
     while ((line = br.readLine()) != null) { 

      String splittedWord []= line.split("\\s+"); 
      String key = splittedWord[0]; 

      map.put(key, new ArrayList<Double>()); 

      for(int i=1;i<splittedWord.length;i++){ 
       double temp = Double.parseDouble(splittedWord[i]);  
       if(map.containsKey(key)){ 
        map.get(key).add(temp); // adding keys and values to the encode hashmap O(n) 
       } 

      } 
     } 
     System.out.println("The size of encodeMap is " + map.size()); 

     Iterator test = map.entrySet().iterator(); 
      while (test.hasNext()) { 
       Map.Entry pair = (Map.Entry)test.next(); 
       System.out.println(pair.getKey() + " " + pair.getValue()); 

       test.remove(); // avoids a ConcurrentModificationException    
      }   
    } 
+0

を?それは何と定義されていますか? –

+0

プライベート静的HashMap > map =新しいHashMap >();これは一番上にあります。 –

+0

よく、私はそれを 'HashMap 'に変更し、 'if(!map.get(key)+ temp) ' –

答えて

0

次のようにコードを変更、毎日のすべての値を格納するための要件が​​ない限り:あなたのマップが定義されて

private static HashMap<String, Double> map = new HashMap<String, Double>(); 

    if(!map.containsKey(key)) { 
     map.put(key, temp); 
    } else { 
     map.put(key, map.get(key) + temp); 
    } 
+0

ありがとうございます。出来た。私はとても感謝しています。 –

関連する問題