我试图根据键来格式化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中,其中包含键(例如)图标和值" rain"。
如何根据密钥格式化所有这些数据?我试过这样的事情
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;
}
答案 0 :(得分:0)
您应该使用keySet()
Map
功能遍历地图密钥
for (String name:data.keySet()) {
if (name.equals("temperatureMax")) {
//Do your formatting
}
}