Java 我需要写一个方法,返回金牌数超过铜牌数,然后是银牌数最多的国家的名称
我需要写一个方法,返回金牌数超过铜牌数,然后是银牌数最多的国家的名称。这就是我为金牌所做的,但如何转换为其他人所用的方法Java 我需要写一个方法,返回金牌数超过铜牌数,然后是银牌数最多的国家的名称,java,Java,我需要写一个方法,返回金牌数超过铜牌数,然后是银牌数最多的国家的名称。这就是我为金牌所做的,但如何转换为其他人所用的方法 查看您的代码,不需要创建地图来查找奖牌最多的国家: List<String> countryName = new ArrayList<>(); List<Integer> goldMedal = new ArrayList<>(); Integer maxMedals = goldMedal.stream
查看您的代码,不需要创建地图来查找奖牌最多的国家:
List<String> countryName = new ArrayList<>();
List<Integer> goldMedal = new ArrayList<>();
Integer maxMedals = goldMedal.stream().max(Integer::compareTo).get();
int maxMedalsIdx = IntStream.range(0, goldMedal.size())
.filter(i -> goldMedal.get(i).equals(maxMedals))
.findFirst().getAsInt();
countryName.get(maxMedalsIdx); // your answer
您可以为此使用比较器链接 您可以自己实现比较器链
您可以使用已经实现的comparator chain类将goldMedal替换为bronzeMedal,然后首先创建一个良好的数据结构来存储输入。另外请注意,可以有多个国家拥有最多的金、银和铜牌。在此处发布链接会有所帮助,但从链接中获取必要的信息并写出答案会更好地回答问题。请阅读
List<String> countryName = new ArrayList<>();
List<Integer> goldMedal = new ArrayList<>();
Integer maxMedals = goldMedal.stream().max(Integer::compareTo).get();
int maxMedalsIdx = IntStream.range(0, goldMedal.size())
.filter(i -> goldMedal.get(i).equals(maxMedals))
.findFirst().getAsInt();
countryName.get(maxMedalsIdx); // your answer