List<String> list2 =new ArrayList<String>();
int iArr[] = new int[ja.length()];//{"846001","846005","846000","846002","846009"}
Arrays.sort(iArr);
for (int i = 0; i < ja.length(); i++) {
_jobject = ja.getJSONObject(i);
iArr[i] = Integer.parseInt(_jobject.getString("Pincode"));
}
for(int k=0;k<iArr.length;k++) {
list2.add(String.valueOf(iArr[k]));
}
我想将其排序并绑定到数组列表中。我想要
{“ 846000”,“ 846001”,“ 846002”,“ 846005”,“ 846009”}
但是它没有按照给定的逻辑排序,请告诉我哪里做错了。
最佳答案
我认为问题是您要在对数组进行操作之前对其进行排序。您应将Arrays.sort(iArr)
移至for
循环之后。
List<String> list2 =new ArrayList<String>();
int iArr[] = new int[ja.length()];//{"846001","846005","846000","846002","846009"}
for (int i = 0; i < ja.length(); i++) {
_jobject = ja.getJSONObject(i);
iArr[i] = Integer.parseInt(_jobject.getString("Pincode"));
}
Arrays.sort(iArr);
for(int k=0;k<iArr.length;k++) {
list2.add(String.valueOf(iArr[k]));
}