我想对 arraylist(string) hasil 从大值到小值进行排序,但是我的 arraylist(string) solusi 无法以与 arraylist(string) 相同的顺序获得位置。
float pa = ma * 100;
String namaGangguan = SQLiteHelper.getInstance(this).getGangguan(key).getNama();
Solusi = SQLiteHelper.getInstance(this).getGangguan(key).getSolusi();
hasil.add((int)pa + " % " + namaGangguan );
solusi.add(Solusi);
}
Collections.sort(hasil, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// null check needed?
int diff = getIntValue(o2) - getIntValue(o1);
if (diff == 0) return o1.compareTo(o2);
return diff;
}
int getIntValue(String str) {
if (str == null) return 0;
int value = 0;
int indx = 0;
while (indx < str.length() && Character.isDigit(str.charAt(indx))) {
value = value * 10 + (str.charAt(indx) - '0');
indx++;
}
return value;
}
}
计划是我想制作一个数组列表(字符串)hasil,作为 ListView 和数组列表(字符串)solusi,作为 ListView 中的操作单击。如何使hasil和solusi这两个数组的位置相等?谢谢。
最佳答案
排序数组
Arrays.sort(stringarray, new Comparator<File>() {
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public int compare(String o1, String o2) {
return Integer.compare(Integer.parseInt(o1), Integer.parseInt(o2));
}
});
排序数组(从大值到小值,) 在上面的代码之后
Collections.reverse(integerList);
关于java - 如何复制 Collection.sort 到另一个数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57252369/