您好,我对编程很陌生,想要求帮助,我的老师创建了一个课程,其中包括国家,大陆和人口。期望的输出是获得每个大洲的前十大人口。
代码:
import java.util.*;
public class WP {
public static void main(String[] args) {
WorldPop[] list = WorldPop.getList();
int index;
Arrays.sort(list, new PopComparator());
for (int i=0; i<list.length; i++) {
System.out.printf("%-53s %-20s %,14d\n", list[i].country,
list[i].continent, list[i].population);
}
}
}
class PopComparator implements Comparator<WorldPop> {
public int compare(WorldPop x, WorldPop y) {
return x.population - y.population;
}
}
class TitleComparator implements Comparator<WorldPop> {
public int compare(WorldPop x, WorldPop y){
return x.continent.compareTo(y.continent);
}
}
答案 0 :(得分:3)
我可能会按照大陆的Country
对每个Map<Continent, List<Country>>
进行排序,他们只需对每个List
进行排序
答案 1 :(得分:0)
首先,您可以使用Comparator
下面的列表对列表进行排序。现在,您的列表将根据大陆和国家/地区进行排序,然后通过计算每个重复大陆的国家/地区数量进行迭代。
Collections.sort(list, new Comparator<WorldPop>() {
@Override
public int compare(WorldPop x, WorldPop y) {
int c;
c = x.continent.compareTo(y.continent);
if (c == 0)
c = x.population .compareTo(y.population );
return c;
}
});