如何从java中的自定义列表中找到前N个最高优先级值?

时间:2017-07-31 15:49:54

标签: java android

您好我希望从响应中获得前2个最大值。我将值存储在自定义列表中。我不知道如何从列表中获取值。

JSON响应:

{"elements": [
    {
        "priority": 1
    },
    {
        "priority": 16
    },
    {
        "priority": 4
    },
    {
        "priority": 1
    }]
}

1 个答案:

答案 0 :(得分:1)

首先,您需要将字符串解析为数组:

JSONArray elements = new JSONObject(your_json_string).getJSONArray("elements"); 
Integer[] priorities = new Integer[elements.length()];

for (int i = 0; i < elements.length(); i++) {
    priorities[i] = elements.getJSONObject(i).getInt("priority");
}

接下来,您需要将数组从最高到最低排序

Arrays.sort(priorities, Collections.reverseOrder());

现在,你可以通过读取0 - &gt;找到前N值。 Ñ

for (int i = 0; i < N; i++){
    //Do something with priorities[i]
}