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]));
}

07-28 01:11
查看更多