我有一个字符串列表,我只想按字符串的数字后缀排序。 以下是我尝试过的。 我想要的输出是[“ ak-2”,“ ss-12”,“ aa-20”,“ pp-90”]
thisispart1msg
thisispart1msgnow part two is being received
thisispart1msgnow part two is being receivedPart 3
答案 0 :(得分:1)
试试这个::
List<String> list1 = new ArrayList<>();
list1.add("aa-20");
list1.add("ss-12");
list1.add("ak-2");
list1.add("pp-90");
Comparator<String> comp=new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
o1=o1.substring(o1.indexOf("-")+1);
o2=o2.substring(o2.indexOf("-")+1);
if(Integer.parseInt(o1)>Integer.parseInt(o2)){
return 1;
}
return -1;
}
};
Collections.sort(list1, comp);
System.out.println(list1);
让我知道这是否有帮助。