亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我需要編寫一種方法,以返回金牌數量多于銅牌和銀牌最多的國家名稱

我需要編寫一種方法,以返回金牌數量多于銅牌和銀牌最多的國家名稱

江戶川亂折騰 2021-05-01 13:14:43
我需要編寫一種方法,以返回金牌數量多于銅牌和銀牌最多的國家名稱。這就是我獲得金牌的方式,但是如何轉換為其他人可以執行的方法。    List<String> countryName = new ArrayList<>();    List<Integer> goldMedal = new ArrayList<>();    Map<String, Integer> map = new HashMap<>();    Iterator<String> i1 = countryName.iterator();    Iterator<Integer> i2 = goldMedal.iterator();    while (i1.hasNext() && i2.hasNext()) {        map.put(i1.next(), i2.next());    }    if (i1.hasNext() || i2.hasNext());    Entry<String, Integer> maxEntry = null;    for (Entry<String, Integer> entry  : map.entrySet()) {        if (maxEntry == null || entry.getValue().compareTo(maxEntry.getValue()) > 0)        {            maxEntry = entry;        }    }
查看完整描述

2 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

查看您的代碼,沒有必要創建一個Map公正地尋找獲得最多獎牌的國家:


    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


查看完整回答
反對 回復 2021-05-12
  • 2 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號