你可以直接造一个新的RecordID给get这个方法,前提是你必须实现RecordID的equals方法和hashcode方法,用来比较两个对象是否相等,默认的equals方法是比较的地址。所以是不相等,得到的肯定是null。如果你的RecordID对象用Integer或是String等已经从新实现了的equals方法的类型代替,就可以直接new了。
你如果想遍历所有的可以用iterator
也可以直接用foreace循环如下:如果哪里不清楚,请留言
LinkedHashMap
for(Record i:m.values()){
System.out.println(i);
}
先取出map中所有ID 这需要一个方法
Set set=linkedhashmap.getkeys()(你的map集合的一个方法)
然后对你建立的set集合 进行遍历
可以用增强for循环:
for(Object o:set){
if(o.equals(RecordID)){
String str = map.getvalue(o);
}
}
就可以了当然str要在外面定义
当然是不能new一个新的了,必须是你声明这个map不能是局部的了
比如 HashMap LinkedHashMap
LinkedHashMap.put(id,record);
LinkedHashMap.get(id);
也就是说如果你全局都需要操作这个HashMap 的话,那么你要把它声明为一个全局变量,这样你先put在get,就会有值了
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
Iterator
while(iterator.hasNext() ){
map.get(iterator.next());
}
}
get
public V get(Object key)
返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。
更确切地讲,如果此映射包含一个满足 (key==null ? k==null : key.equals(k)) 的从
k 键到 v 值的映射关系,则此方法返回 v;否则返回
null。(最多只能有一个这样的映射关系。)
返回 null 值并不一定 表明该映射不包含该键的映射关系;也可能该映射将该键显示地映射为
null。可使用 containsKey
操作来区分这两种情况。
指定者:
接口 Map
覆盖:
类 AbstractMap
get
参数:
key - 要返回其关联值的键
返回:
指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null