android反向int数组

时间:2014-08-13 07:09:29

标签: java android json reverse

我已使用以下函数

成功将JSONArray解析为列表
public List<Integer> ParseJson(String json, List<Integer> myList) {
    JSONArray jsonArray = null;

    try {
        JSONObject mainJson = new JSONObject(json);
        jsonArray = mainJson.getJSONArray("result");

        myList = new ArrayList<Integer>();
        for (int i = 0; i < jsonArray.length(); i++) {

            myList.add(Integer.parseInt(jsonArray.get(i).toString()));

        }

        // System.out.println(myList);

    } catch (JSONException e) {
        e.printStackTrace();
    }

    Collections.reverse(myList);
    return myList;

}

现在我需要将List改为逆序。最佳方法是什么?

4 个答案:

答案 0 :(得分:0)

[1,2,3,5,23,534,23]:您的JSONArray已包含整数,无需转换。

JSONArray jsonarray = getTheJSONArrayFromSomewhere();
Log.d(TAG, jsonarray.toString(4)); // for debugging purposes. Check the contents of the jsonarray
List<Integer> list = new ArrayList<Integer>();
for (int i = jsonarray.length() - 1; i >= 0; i--)
    list.add(jsonarray.getInt(i));

或者

JSONArray jsonarray = getTheJSONArrayFromSomewhere();
Log.d(TAG, jsonarray.toString(4)); // for debugging purposes. Check the contents of the jsonarray
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < jsonarray.length(); i++)
    list.add(jsonarray.getInt(i));
Collections.reverse(list);

假设您的JSONArray正确填充并包含整数,那么它会反转您的整数列表。另外,我省略了try / catch,你必须添加它们。

答案 1 :(得分:0)

在编辑问题之前,您似乎想要反转JSON数组,将其附加到“myList”并返回结果。如果这是真的,试试这个:

public List<Integer> ParseJson(String json, List<Integer> myList) {
    JSONArray jsonArray = null;

    try {
        JSONObject mainJson = new JSONObject(json);
        jsonArray = mainJson.getJSONArray("result");

        List<Integer> reverseListFromJson = new ArrayList<Integer>();
        for (int i = 0; i < jsonArray.length(); i++) {
            reverseListFromJson.add(jsonArray.getInt(i));
        }
        Collections.reverse(reverseListFromJson);

        myList.addAll(reverseListFromJson);
    } catch (JSONException e) {
        e.printStackTrace();
    }

    return myList;
}

答案 2 :(得分:0)

您是否尝试过使用:

ArrayList<Element> tempElements = new ArrayList<Element>(mElements);
Collections.reverse(tempElements);

答案 3 :(得分:0)

使用以下代码执行此操作

ArrayList<Element> tempElements = new ArrayList<Element>(mElements);
Collections.reverse(tempElements);

希望它适合你