java order arraylist string [] by number
发布时间:2020-12-15 05:08:15 所属栏目:Java 来源:网络整理
导读:我有一个String []类型的数组列表.我想用String [0]作为int来命令它.我有这个: Collections.sort(listitems,new ComparatorString[]() { @Override public int compare(String[] lhs,String[] rhs) { return lhs[0].compareToIgnoreCase(rhs[0]); }}); 但这
|
我有一个String []类型的数组列表.我想用String [0]作为int来命令它.我有这个:
Collections.sort(listitems,new Comparator<String[]>() {
@Override
public int compare(String[] lhs,String[] rhs) {
return lhs[0].compareToIgnoreCase(rhs[0]);
}
});
但这个顺序是这样的: 解决方法
比较的结果意味着:
>如果第一个参数在逻辑上“小于”第二个参数,则为负 因此,如果您确定每个数组的第一个字符串可以解析为整数,我会使用: @Override
public int compare(String[] lhs,String[] rhs) {
int leftInt = Integer.parseInt(lhs[0]);
int rightInt = Integer.parseInt(rhs[0]);
return leftInt < rightInt ? -1
: leftInt > rightInt ? 1
: 0;
}
Java 1.7具有有用的Integer.compare方法,但我认为您无法使用它.您可以使用Integer.compareTo,但这可能会产生比您真正想要的移动设备更多的垃圾…… 请注意,即使当leftInt和rightInt非常大,或者可能是负数时,这也会起作用 – 从另一个值中减去一个值的解决方案假设减法不会溢出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
