包含数字和字母的java排序数组列表
这是我当前的arraylist:
ArrayList<String> myArrayList = new ArrayList<String>();
[102423;asd.com, 49952;qwe.com, 76933;rty.com, 199526;fgh.com, 139388;jkl, 25114;qaz, 155766;ghj.com, 321339;vbn.com, 210513;kol.com]
我想按数字对它们进行排序。我尝试了以下几点:
Collections.sort(myArrayList)
for(String counter : myArrayList){
System.out.println(counter);
}
但它不起作用。我想先拆分,然后再收集。排序,但我不知道如何将他们再次配对
# 1 楼答案
使用^{} 静态方法并提供一个自定义Comparator,其^{} 方法从两个元素中提取数字前缀,并仅比较这些前缀
例如,您可以使用^{} 来获取数字前缀
# 2 楼答案
它不起作用的原因是您已声明了
ArrayList
ofString
s。因此,Collections.sort(YourArrayList)
将按字典顺序对其进行排序。因此,您必须编写自己的Comparator
来读取字符串并对其进行解释和比较所以,试试这个
结果是
此代码在内部排序列表
# 3 楼答案
使用比较器,如下所示:
您的排序代码将与您所写的大致相同: