java—如何从每个元素的某个点对arraylist进行排序

62o28rlo  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(294)

这个问题在这里已经有答案了

按属性排序自定义对象的arraylist(29个答案)
三天前关门了。
我在java 15项目类中的一个类中有一个arraylist,如下所示: ArrayList<String> myList = [Student1:15, Student2:38, Student3:87; Student4:10] arraylist包含字符串,其中每个元素都是学生的名字和他们的考试分数,中间有一个冒号。
目的是按从低到高的顺序排列这个列表。你要怎么做呢?

t5fffqht

t5fffqht1#

你可以这样做:

public static int grade(String s) {
        return Integer.parseInt(s.split(":")[1]);
    }

    public static void main(String[] args){
        List<String> l = new ArrayList<>();

        l.add("a:10");
        l.add("b:2");
        l.add("e:2");
        l.add("c:1");

        l.sort(Comparator.comparingInt(Main::grade));
        System.out.println(l);
    }
sshcrbum

sshcrbum2#

创建一个实现comparator的对象,并使用collections sort(list,comparator)方法。
集合排序(list,comparator<?super t>)方法示例

相关问题