java - 如何为另一个数组列表复制 Collection.sort
问题描述
我想对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;
}
}
计划是我想制作一个arraylist(string)hasil,作为listview和arraylist(string)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);
推荐阅读
- sql - T-SQL 将算术公式转换为其组件
- c - 如何从 main 函数使用 longjmp 到其他函数?
- drools - 有没有办法根据自己的元数据触发 Drools 规则?
- html - 如何在下拉内容中删除悬停边框?
- node.js - 如何解决 promiss.all() 并希望删除一个级别的对象
- node.js - 将 PM2 与 docker 一起使用
- javascript - JQuery 可拖动内容 - 显示选中
- java - PowerMock expectNew 不会返回模拟实例
- python - Python 模块应该如何使用代码生成?
- javascript - 如何使用JavaScript单击删除和添加css动画属性