黑马程序员技术交流社区
标题:
eclipse编辑完了没报错为什么不能执行?
[打印本页]
作者:
崔瑞龙
时间:
2012-5-10 23:13
标题:
eclipse编辑完了没报错为什么不能执行?
public class StudyDemo {
public static void main(String[] args) {
// Demo1();
// Demo2();
// Demo3();
// Demo4();
}
private static void Demo4() {
Map<String,Integer>map = new HashMap<String,Integer>();
map.put("张三",20);
map.put("李四",21);
map.put("王五",22);
map.put("赵六",19);
Set<Entry<String,Integer>>set = new HashSet(); //获取Map中所有Entry组成的Set集合。
for(Entry<String,Integer>e:set) //迭代Set集合,可以获取每一个Entry对象。
System.out.println(e.getKey()+":"+e.getValue()); //通过Set集合获取每一个键对象和值对象。
}
以上代码没报错,Demo1,2,3是我之前抽取的方法,Demo4就是不能执行的代码,之前都没问题,但到了4就不行了。哪位高手给点意见。
作者:
李啸
时间:
2012-5-10 23:18
Set<Entry<String,Integer>>set = new HashSet(); //改成Set<Entry<String,Integer>>set =map.entrySet(); 这样就可以获取map集合里的set集合
作者:
云惟桉
时间:
2012-5-10 23:22
Map集合的两种取出方式:
1.Set<k> keySet = map.keySet();将Map中所有的键存入到Set集合。
由于Set具备迭代器,用迭代方式取出所有键,再由get方法,获取每一个键对应的值。
原理:将Map集合转成Set集合,元素为键,再通过迭代器取出值。
2.Set< Map.Entry<k,v> > entrySet:
将Map集合中的映射关系存入Set集合中,这个关系的数据类型为Map.Entry。
------------------------------------------------------------------------------------------------------------------------------
楼主的代码需要改一下:
Set<Map.Entry<String,Integer>>set =map.entrySet();
应该就可以了。
作者:
杨华威
时间:
2012-5-10 23:29
Set<Entry<String,Integer>>set = new HashSet(); //获取Map中所有Entry组成的Set集合。
此句有误,(语法没有错误,只是Entry使用方法有误),
获取键值对的映射应该写成:
Set<Entry<String,Integer>>set =map.entrySet();
作者:
魏涞
时间:
2012-5-10 23:29
本帖最后由 魏涞 于 2012-5-10 23:34 编辑
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class StudyDemo {
public static void main(String[] args) {
// Demo1();
// Demo2();
// Demo3();
Demo4();
}
private static void Demo4() {
Map<String,Integer>map = new HashMap<String,Integer>();
map.put("张三",20);
map.put("李四",21);
map.put("王五",22);
map.put("赵六",19);
Set<Entry<String,Integer>>set =map.entrySet();
//这里不应该在new一个Hash
Set
(),而是用已有的map的entrySet()f方法获取。
for(Entry<String,Integer> e:set)
System.out.println(e.getKey()+":"+e.getValue());
}
}
作者:
杨华威
时间:
2012-5-10 23:30
Set<Entry<String,Integer>>set = new HashSet(); //获取Map中所有Entry组成的Set集合。
此句有误,(语法没有错误,只是Entry使用方法有误),
获取键值对的映射应该写成:
Set<Entry<String,Integer>>set =map.entrySet();
作者:
黄坚声
时间:
2012-5-11 08:11
这个要看是报什么异常,光看代码不是解决问题有效方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2