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

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

如何找到哈希圖中的最低值?

如何找到哈希圖中的最低值?

猛跑小豬 2023-06-28 15:38:44
我無法找到哈希圖中的最低值。只有一個哈希圖,必須在其中找到玩家的最低值。                for (Map.Entry<Player, Integer> entry1 : lowestTrump.entrySet()) {                    Player key1 = entry1.getKey();                    int value1 = entry1.getValue();                    for (Map.Entry<Player, Integer> entry2 : lowestTrump.entrySet()) {                        Player key2 = entry2.getKey();                        int value2 = entry2.getValue();                        if(value1 == -1 || value2 == -1){                            break;                        }else if(value1 < value2 && (value1 != 1 || value2 != 1)) {                            attackerFound = key1.getName();                        }                    }                }輸出應將玩家中的最低值分配給attackerFound 變量。
查看完整描述

4 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

只需使用stream()withmin()即可獲得最低值

lowestTrump.values().stream().min(Integer::compareTo);

如果lowestTrump可以為空,您也可以lowestTrump.values()用 apache包裝CollectionUtils.emptyIfNull())或使用另一種空安全方法


查看完整回答
反對 回復 2023-06-28
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

您可以像這樣一步獲得最小玩家:


Player lowestPlayer = lowestTrump.entrySet()

        .stream()

        .min(Comparator.comparingInt(Map.Entry::getValue))

        .map(Map.Entry::getKey)

        .orElse(null);


String attackerFound = lowestPlayer != null ? lowestPlayer.getName() : null;

請注意,如果lowestTrump為空,則將attackerFound為null。


查看完整回答
反對 回復 2023-06-28
?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

這是我的實際工作代碼


                Optional<Player> result = lowestTrump.entrySet()

                        .stream()

                        .filter(c -> c.getValue() != -1)

                        .min(Comparator.comparingInt(Map.Entry::getValue))

                        .map(Map.Entry::getKey);


                if(result != null && result.get().getSuitInHand() != -1) {

                    System.out.println("Player : " + result.get().getName() + " is the first attacker");

                }


查看完整回答
反對 回復 2023-06-28
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

您可以使用樹狀圖。這樣,當您向該映射添加任何值時,它就已經被排序了。您可以獲得第一個值,這將是最低或明智的 Versa。

Map <Player, Integer> playerMap = new TreeMap<Player, Integer>();

對于 Java 8+,您可以使用以下示例:

playerMap.values().stream().min(Integer::compareTo);

就是這樣。


查看完整回答
反對 回復 2023-06-28
  • 4 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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