第1个回答 2009-12-08
你可以直接造一个新的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);
}
第2个回答 2009-12-08
先取出map中所有ID 这需要一个方法
Set set=linkedhashmap.getkeys()(你的map集合的一个方法)
然后对你建立的set集合 进行遍历
可以用增强for循环:
for(Object o:set){
if(o.equals(RecordID)){
String str = map.getvalue(o);
}
}
就可以了当然str要在外面定义本回答被提问者采纳
第3个回答 2009-12-08
当然是不能new一个新的了,必须是你声明这个map不能是局部的了
比如 HashMap LinkedHashMap<RecordID, Record> = new HashMap<RecordID, Record> ();
LinkedHashMap.put(id,record);
LinkedHashMap.get(id);
也就是说如果你全局都需要操作这个HashMap 的话,那么你要把它声明为一个全局变量,这样你先put在get,就会有值了
第4个回答 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());
}
}
第5个回答 2015-09-13
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