Java 中哈希映射中的返回对象

Reteun obj in hashmap in Java

我有一个名为 PeerModel 的模型是用 JSON 编写的。在另一个 class 中,我将此模型设置为 HashMap 的键。

Map<PeerModel,Boolean> peers = new HashMap<>(); 

现在我有了一个方法,我需要检查值是否为 false,return 模型(这是 HashMap 的键)。 这是代码,但它 return 为空。

public PeerModel getUnusedPeer() {
    for (int i = 0; i < peers.size(); i++)
        if (peers.containsValue(i) == false)

            return new PeerModel();
}

如果您确定地图中只有一个假值(因为您的方法 return 只有一个 PeerModel 对象),您可以使用类似 :

Optional<PeerModel> optional = peers.entrySet().stream()
  .filter(e -> !e.getValue())
  .map(Map.Entry::getKey)
  .findFirst();