0
我試圖根據其密鑰格式化我的HashMap中的數據。如何通過密鑰格式化地圖數據
我有一個環,其以下列格式
icon: "rain"
windBearing: 239
ozone: 339.89
precipType: "rain"
humidity: 0.82
moonPhase: 0.98
windSpeed: 7.37
summary: "Light rain starting in the evening."
visibility: 16.09
cloudCover: 0.62
pressure: 1011.49
dewPoint: 1.26
time: 08-03-2016 00:00:00
temperatureMax: 8.09
所有這些數據都被存儲在一個HashMap與鍵(例如)圖標和值「雨」打印數據。
如何根據其密鑰格式化所有這些數據?我試過這樣的東西
private Map formatter(Map data) {
String tmp;
for(int i = 0; i < data.size(); i++) {
if(data.containsKey("temperatureMax")) {
tmp = String.format("%s c TEST", data.get("temperatureMax"));
data.put("temperatureMax", tmp);
}
}
return data;
}
我以爲這樣的東西會格式8.09只是8,但它沒有做任何事情。 (我試圖做這裏的答案How to update a value, given a key in a java hashmap?狀態)
這是我獲取數據的地方。
public Map dailyReport() {
FIODaily daily = new FIODaily(fio);
//In case there is no daily data available
if (daily.days() < 0) {
System.out.println("No daily data.");
} else {
System.out.println("\nDaily:\n");
}
//Print daily data
for (int i = 0; i < daily.days(); i++) {
String[] value = daily.getDay(i).getFieldsArray();
System.out.println("Day #" + (i + 1));
for (String key : value) {
System.out.println(key + ": " + daily.getDay(i).getByKey(key));
dailyData.put(key, daily.getDay(i).getByKey(key));
formatter(dailyData);
}
System.out.println("\n");
}
return dailyData;
}
的
keySet()
功能迭代'dailyData'需要爲_just一個day_地圖。您需要一個HashMap數組,然後執行'dailyData [i] .put(...);' –另外,您爲什麼要將未格式化的數據放入地圖,然後立即更新數據?第一次將格式正確的數據放入地圖會更高效。在將數據放入地圖之前,只格式化數據。 –