java在映射中检索一个对象_Java - Groovy:将对象映射为键

我在如何从使用自定义对象索引的 Map 中检索值时遇到问题 . 在我的例子中,我有一个Map,其中Model对象为Key,对象List为Value . Map似乎填充得很好,因为我遍历每个Key并将所有Model对象打印到控制台 .

我的问题是如何从Map中的特定条目获取Value .

Map mapSet = m.getMyMap()

for(Entry entry : mapSet){

println entry.key.getModel() //prints each Model

}

List testListBase = mapSet.get(new Model("BASE"))

List testListSearch = mapSet.get(new Model("SEARCH"))

我是否必须从Object覆盖 hashCode() 和 equals() 以检索Map中该条目的列表?

UPDATE

这里是简单的Model对象,但仍然无法使用检索密钥

mapSet.get(new Model("BASE"))

public final class Model {

private final String model;

private final static int count = 0;

private int id;

private Model(String model){

this.model = model;

id = ++count;

}

private String getModel(){

return model;

}

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + id;

result = prime * result + ((model == null) ? 0 : model.hashCode());

return result;

}

@Override

public boolean equals(Object obj) {

if (this == obj) {

return true;

}

if (obj == null) {

return false;

}

if (getClass() != obj.getClass()) {

return false;

}

Model other = (Model) obj;

if (id != other.id) {

return false;

}

if (model == null) {

if (other.model != null) {

return false;

}

} else if (!model.equals(other.model)) {

return false;

}

return true;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值