黑马程序员技术交流社区
标题:
集合map
[打印本页]
作者:
赵文杰
时间:
2012-5-11 22:12
标题:
集合map
用什么方法迭代map中的元素。
作者:
袁培育
时间:
2012-5-12 08:56
map集合本身没有迭代器,但可以通过其他方法进行迭代,如可以用map集合的keySet方法取得所有的键(其返回值类型为Set集合),再用Set集合的迭代方法迭代所有的键,在迭代的过程中,用map集合的get方法取得键所对应得值。也可以用map的entrySet方法获得一个映射关系的Set集合(集合里的元素为Map.entry类型),再用Set的迭代方法迭代每一个映射关系(即得到每一个Map.entry),然后用Map.entry的getkey和getValue方法得到键和值。
作者:
李啸
时间:
2012-5-12 09:00
第一种方法是:Set<Entry<String,Integre>> set=map.entryset();
第二种方法是:Set set=map.keySet()
两种方法都是获取Map集合的key添加进Set集合中 通过Set集合遍历出来
作者:
小小企鹅
时间:
2012-5-12 09:17
HashMap m = new HashMap();
m.put("mykey", "Myvalue");
for(Object obj : m.keySet()){
String value = (String)m.get(obj);
System.out.println(obj+"::"+value);
}
可以通过keySet()返回Set,再通过get(Object)查找指定键所映射的值
作者:
杨鹏
时间:
2012-5-12 09:18
首先Map中存储的是具有映射关系的键值对对象,键和值是一一对应的关系,键是唯一的不可重复,值有可能是重复的。
迭代的方法其一:可以通过键来查找对应其对应的值,所以可以通过返回一个集合来存储Map的所有键,在遍历存储键的这个集合时用键来获取值。所以Map提供了setKey()方法返回集合中键的一个set集合,再用get()方法根据键获取值,这样就可以达到遍历的目的。
迭代的方法其二:因为Map集合中的元素是具有映射的关系键和值,所以可以通过Map中的entrySet()返回一个存储集合元素映射关系的set集合,该set集合中元素的类型是Map.Entry<K,V>,遍历set集合过程中,用Map.Entry<K,V>中的getKey()和getValue()获取映射关系中的键和值,从而就实现了编历Map集合。
作者:
秦超
时间:
2012-5-12 09:31
Map集合中么有迭代器,所以要迭代里面的元素,需要委托有迭代器的集合Set
第一种方式:keySet(), keySet得到的是Map集合中的键,把键存入Set集合,然后通过迭代键,找到值.例如:
Set key = map.keySet();
for( Iterator it= key . iteratior(); it.hasNext();){
String value = map . get( it . next ());
}
第二种方式:entrySet()这种方法是把Map集合中的键值对关系存入Set集合,这个键值关系类似于夫妻之间的结婚证,所以它既不是丈夫类型,也不是妻子类型,它的类型就是
Map.Entry<Key, Value>,得到这个键值关系后,就可以通过getKey(),和getValue()方法获取到键和值.
例如: Set<Map.Entry<String , Integer>> set= map.entrySet();
for(Iterator it = set .iterator() ; it . hasNext ; ) {
Map.Entry<String , Integer> me = it . next();
String key = me . getKey();
int value = me .getValue();
}
作者:
刘克方
时间:
2012-5-12 09:59
Map集合中底层存储的是Entity对象,可以用增强的for循环来迭代其中的所有对象:
HashMap<String,String> hashMap = new HashMap<String,String>();
hashMap.put("1","a");
hashMap.put("2","b");
for(Entry<String,String> entity : hashMap.entrySet()){
System.out.println(entity.getKey());
System.out.println(entity.getValue());
}
输出结果为:1,a 2,b
作者:
赵文杰
时间:
2012-5-13 08:29
还有一种迭代的方式,就是得到keySet对象。用get方法获取元素。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2