订购我的arrayLust有问题[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我想依次按照比较器“c”从ArrayList返回前k个ratables。所以第一个元素是根据比较器c的第一个元素。

这是我的代码

public static ArrayList<Ratable> getTopK(ArrayList<Ratable> list, int k, Comparator c) {
        ArrayList<Ratable> ratables;

        if (c.toString().contains("AlphabeticalComparator")) {
            ratables = AlphabeticalComparator.compare(list);
        } else if (c.toString().contains("NumberOfRatingsComparator")) {
            ratables = NumberOfRatingsComparator.compare(list);
        } else {
            Scanner in = new Scanner(System.in);
            System.out.println("Enter Extra Reviews and value of extra ratings: ");
            int extraReviews = in.nextInt();
            double extraRatings = in.nextDouble();
            ratables = BayesianAverageComparator.compare(list, extraReviews, extraRatings);
        }

        ArrayList<Ratable> subList = new ArrayList<Ratable>(ratables.subList(0, k));
        return subList;
    }

    }

我的自动取款机告诉我它没有以我需要的方式订购?

java
1个回答
-1
投票

你可以使用Collections.sort(list, comparator)

© www.soinside.com 2019 - 2024. All rights reserved.