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非常大,或者可能是负数时,这也会起作用 – 从另一个值中减去一个值的解决方案假设减法不会溢出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |