黑马程序员技术交流社区
标题:
双列集合如何迭代
[打印本页]
作者:
zapple926
时间:
2016-4-5 23:30
标题:
双列集合如何迭代
如果有个双列集合,能不能 用迭代器,如何对其使用迭代.
作者:
小灰辉
时间:
2016-4-5 23:56
它 没有迭代器,但是可以实现迭代的.
第一种方式:
class MapDemo_2 {
public static void mian(string [] args) {
Map <String,Integer> m = new HashMap<> ();
m.put("张三",23);
m.put("李四",24);
m.put("王五",25);
m.put("赵六",26);
set<String> s = m.keySet(); //获取所有的键,返回一个集合
Iterator<String> in = s.Iterator(); //set集合中含有迭代器,获取迭代,
while(in.hashNext()) {
String key = in.next(); //获取键
Integer value = m.get(key); //通过键获取值
System.out.println(key+"="value);
}
增强for循环: for(String key : m.keySet()) { //keySet是获取键的集合
Sytem.out.println(key+"="+m.get(key));
}
}
}
第二种方式:
entrySet();获取键值对。它的返回值是set<Map.Entry<K,V>>这是一个集合。Map是一个接口,Entry是一个子接口。
Map.Entry<K,V>有两个方法 getKey();获取键
getValue();获取值
class MapDemo_3 {
public static void mian (string [] args) {
Map <String,Integer> m = new HashMap<> ();
m.put("张三",23);
m.put("李四",24);
m.put("王五",25);
m.put("赵六",26);
set<Map.Entry<String,Integer>> entry = m.entrySet();
Iterator<May.Entry<String,Integer>> in = entry.Iterator();
while(in.hashNext()) {
May.Entry<String,Integer> en = in.next();
string key = en.getKey();
Integer it = en.getValue();
System.out.println(key+"="+value);
}
增强for循环: for(Map.Entry<String,Integer> en :m.entrySet()) {
System.out.println(en.getkey()+"="+en.getValue());
}
}
}
作者:
小海龙
时间:
2016-4-6 20:27
楼上说的对
作者:
zapple926
时间:
2016-4-6 22:03
小灰辉 发表于 2016-4-5 23:56
它 没有迭代器,但是可以实现迭代的.
第一种方式:
class MapDemo_2 {
非常感谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2