Java HashMap get(Object key)的使用方法

我对get(Objectkey)这个使用方法很不懂,因为比如说我有一个LinkedHashMap<RecordID,Record>,我要怎样才能用get(RecordID... 我对get(Object key)这个使用方法很不懂,因为比如说我有一个LinkedHashMap<RecordID, Record>, 我要怎样才能用get(RecordID rid)检索出Record record呢?我如果直接造一个新的RecordID给get这个方法,明明这个map中是有这个RecordID的,可是由于是新造的,它指向null,所以得到的结果是null.
那么我要怎样在这个map中通过key来return value呢?
展开
 我来答
lvxianling
2009-12-08 · TA获得超过639个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:195万
展开全部
你可以直接造一个新的RecordID给get这个方法,前提是你必须实现RecordID的equals方法和hashcode方法,用来比较两个对象是否相等,默认的equals方法是比较的地址。所以是不相等,得到的肯定是null。如果你的RecordID对象用Integer或是String等已经从新实现了的equals方法的类型代替,就可以直接new了。
你如果想遍历所有的可以用iterator
也可以直接用foreace循环如下:如果哪里不清楚,请留言
LinkedHashMap <RecordID, Record>lhm=new LinkedHashMap<RecordID, Record>();
for(Record i:m.values()){
System.out.println(i);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangye6682002
2009-12-08 · TA获得超过905个赞
知道小有建树答主
回答量:637
采纳率:100%
帮助的人:299万
展开全部
先取出map中所有ID 这需要一个方法
Set set=linkedhashmap.getkeys()(你的map集合的一个方法)
然后对你建立的set集合 进行遍历
可以用增强for循环:
for(Object o:set){
if(o.equals(RecordID)){
String str = map.getvalue(o);
}
}
就可以了当然str要在外面定义
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovepetrel
2009-12-08 · TA获得超过1531个赞
知道小有建树答主
回答量:857
采纳率:100%
帮助的人:0
展开全部
当然是不能new一个新的了,必须是你声明这个map不能是局部的了

比如 HashMap LinkedHashMap<RecordID, Record> = new HashMap<RecordID, Record> ();

LinkedHashMap.put(id,record);
LinkedHashMap.get(id);

也就是说如果你全局都需要操作这个HashMap 的话,那么你要把它声明为一个全局变量,这样你先put在get,就会有值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-12-08
展开全部
map.put("A","123455");
map.put("B","123456");
map.put("C","123457");
map.put("D","123458");

map.get("A");
or
map.get(new String("A"));

Set<String> set=(Set<String>)map.keySet();
Iterator<String> iterator=set. iterator();
while(iterator.hasNext() ){
map.get(iterator.next());
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xy007man
2015-09-13 · TA获得超过1584个赞
知道小有建树答主
回答量:389
采纳率:100%
帮助的人:133万
展开全部
  get
  public V get(Object key)

  返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。
  更确切地讲,如果此映射包含一个满足 (key==null ? k==null : key.equals(k)) 的从
k 键到 v 值的映射关系,则此方法返回 v;否则返回
null。(最多只能有一个这样的映射关系。)
  返回 null 值并不一定 表明该映射不包含该键的映射关系;也可能该映射将该键显示地映射为
null。可使用 containsKey
操作来区分这两种情况。

  指定者:
  接口 Map<K,V> 中的 get
  覆盖:
  类 AbstractMap<K,V> 中的
get

  参数:
  key - 要返回其关联值的键
  返回:
  指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式