我有ArrayList有三个值(字符串),但第二个是数字,我想从数字0到例如100.在这个时候,它是1,10,2,21,5等。在输出我想有1,2,5,10,21。如何排序值arraylylist <hashmap <string,string >>
JSONObject jsonObj = new JSONObject(jsonStr);
JSONArray devices = jsonObj.getJSONArray("list");
for (int i = 0; i < devices.length(); i++) {
JSONObject c = devices.getJSONObject(i);
String id = c.getString("id");
String name = c.getString("name");
String known = c.getString("known");
String description = c.getString("description");
String controllerId = c.getString("controllerId");
JSONObject frequencySurvey = c.getJSONObject("frequencySurvey");
if (frequencySurvey.has("5000")) {
JSONObject fivezero = frequencySurvey.getJSONObject("5000");
String timestamp = fivezero.getString("timestamp");
String clients = fivezero.getString("clients");
String enabled = fivezero.getString("enabled");
HashMap<String, String> device = new HashMap<>();
device.put("id", id);
device.put("name", name);
device.put("enabled", enabled);
device.put("clients", clients);
DevicesList.add(device);
}
ListAdapter adapter = new SimpleAdapter(Devices_5_0.this, DevicesList,
R.layout.list_item, new String[]{ "name","clients","enabled"},
new int[]{R.id.name,R.id.clients, enabled});
lv.setAdapter(adapter);
而且我用这种,但排序字符串:
class SortValues implements Comparator {
public int compare(Object obj1, Object obj2) {
HashMap<String, String> test1 = (HashMap<String, String>) obj1;
HashMap<String, String> test2 = (HashMap<String, String>) obj2;
return test1.get("clients").compareTo(test2.get("clients"));
}
}