在Java中如何对图中的数据进行排序,排序后的结果是如上图
自定义一个Comparator
就可以了。
String[] arr = {"1号","2号","3号","11号","21号","12号","13号","100号"};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
List<String> list = Arrays.asList(arr);
Collections.sort(list,new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return Integer.parseInt(o1.replaceAll("[^0-9]*", "")) - Integer.parseInt(o2.replaceAll("[^0-9]*", ""));
}
});
System.out.println(list);
4 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答729 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
楼上说的很对,关键是要取出字符串前面的数字,可能你目前对正则并不熟悉,所以我写个简单的取出字符串前面数字的方法: