按给定条件对列表进行排序

时间:2020-02-16 02:24:30

标签: java android

我有一个字符串列表,我只想按字符串的数字后缀排序。 以下是我尝试过的。 我想要的输出是[“ ak-2”,“ ss-12”,“ aa-20”,“ pp-90”]

thisispart1msg
thisispart1msgnow part two is being received
thisispart1msgnow part two is being receivedPart 3

1 个答案:

答案 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);

让我知道这是否有帮助。