我有一个带有键的Map和一个JSONObjects列表,如图所示
Map<String, LinkedList<JSONObject>> vendorOrdersMap = new LinkedHashMap<String, LinkedList<JSONObject>>();
我需要计算供应商每个LinkedList下的价格,以了解哪个供应商的价格最高。
Map<String, LinkedList<JSONObject>> vendorOrdersMap = new LinkedHashMap<String, LinkedList<JSONObject>>();
// For Vendor 1
JSONObject vendor1 = new JSONObject();
vendor1.put("price", "100");
JSONObject vendor2 = new JSONObject();
vendor2.put("price", "200");
LinkedList<JSONObject> list1vendor1 = new LinkedList<JSONObject>();
list1vendor1.add(vendor1);
list1vendor1.add(vendor2);
// For Vendor2
JSONObject vendor3 = new JSONObject();
vendor1.put("price", "200");
JSONObject vendor4 = new JSONObject();
vendor2.put("price", "300");
LinkedList<JSONObject> list1vendor2 = new LinkedList<JSONObject>();
list1vendor2.add(vendor3);
list1vendor2.add(vendor4);
// Add them to the Map
vendorOrdersMap.put("Vendor1", list1vendor1);
vendorOrdersMap.put("Vendor2", list1vendor2);
//我从这开始,但无法继续这个
for (Map.Entry<String, LinkedList<JSONObject>> entry : vendorOrdersMap.entrySet())
{
String key = entry.getKey();
LinkedList<JSONObject> jsonobj = entry.getValue();
}
答案 0 :(得分:1)
你的最后一行是:
LinkedList<JSONObject> jsonobj = entry.getValue();
在此之后,再次迭代列表,如:
for(JSONObject obj : jsonobj) {
然后从JSONObject获取值,如:
String price = obj.getString("price");
然后进行比较以计算最高价格。