Java android反向整数数组
我已经使用下面的函数成功地将JSONArray解析为listJava android反向整数数组,java,android,json,reverse,Java,Android,Json,Reverse,我已经使用下面的函数成功地将JSONArray解析为list public List<Integer> ParseJson(String json, List<Integer> myList) { JSONArray jsonArray = null; try { JSONObject mainJson = new JSONObject(json); jsonArray = mainJson.getJSONArray("r
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;
}
现在我需要将列表按相反顺序排列。优化的方法是什么?[1,2,3,5,23534,23]:您的JSONArray已经包含int,无需转换
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,您必须添加它们。在编辑问题之前,您似乎想反转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;
}
您是否尝试过使用:
ArrayList<Element> tempElements = new ArrayList<Element>(mElements);
Collections.reverse(tempElements);
使用下面的代码执行此操作
ArrayList<Element> tempElements = new ArrayList<Element>(mElements);
Collections.reverse(tempElements);
希望它对您有用更准确地说,您想将反向json数组放入您的int数组吗?Collections.reverseemyList;对于int i=jsonArray.length-1;i>=0;i-@Wildcupper是的,你是对的@Alexey Odintsov我也试过了,但没有任何想法改变。我不清楚你从int数组开始是什么意思,或者为什么你有一个myList参数,因为你没有使用传递的值。另外,如果您的JSON已经包含整数,您不必将它们转换为字符串然后再转换回来。。。为什么不使用getInt?基本上这个问题现在回答起来太混乱了。看,先生,我尝试了你的代码,我记录了我的jsonarray,结果是这样的,但我仍然无法反转这个数组,我记录了我的jsonarray,结果是这样,但我仍然无法反转记录你的JSON数组显示了非反转列表!但是返回值是按您需要的顺序排列的,这应该是唯一重要的事情。既然你接受了我的回答,我想你同意了吧?