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();
我有一个名为 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();