Map接口的遍历
遍历值用collection,遍历键用set
- Set keySet() 遍历键
- Collection values()
- Set<Map.Entry<K,V>> entrySet()
初始集合:
maps.put("陈羽凡", "白百何");
maps.put("王宝强", "马蓉");
maps.put("贾乃亮", "李小璐");
maps.put("PGone", "李小璐");
分别遍历键值
//遍历键:
//Set<String> keys=maps.keySet();
//遍历值:
Collection<String> vals=maps.values();
for (String string : vals) {
System.out.println(string);
}
遍历的四种方法:
推荐用3和4
用set来接收是为了保证key-values 是惟一的
Set<Entry<String,String>> keva2=maps.entrySet();
//方法一
Set<String> keys=maps.keySet();
for (String string : keys) {
System.out.println(string+" "+maps.get(string));
}
//方法二
Set<String> set=maps.keySet();
Iterator<String> it=set.iterator();
//简写
Iterator<String> its=maps.keySet().iterator();
while(its.hasNext()){
String s=its.next();
System.out.println(s+maps.get(s));
}
//方法三:
/*
* 1.获取 键值对 整体的集合
* 2.遍历 键值对对象的集合 ,获取到每一对键值对 Entry<String, String>
* 3.通过每一对键值对对象 分别 获取键 获取值
* 4.输出即可
*/
System.out.println(" -------------------- ");
Set<Entry<String,String>> keva2=maps.entrySet();
Iterator<Entry<String,String>> ii2=keva2.iterator();
while(ii2.hasNext()){
Entry<String,String> en=ii2.next();
en.getKey();
en.getKey();
}
//改进:
Iterator<Entry<String,String>> ien=maps.entrySet().iterator();
while(ien.hasNext()){
Entry<String,String> skv=ien.next();
System.out.println(skv.getKey()+skv.getValue());
}
//方法四:
Set<Entry<String,String>> keva=maps.entrySet();
for (Entry<String, String> entry : keva) {
entry.getKey();
entry.getValue();
}
//改进:
for(Entry<String,String> entry: maps.entrySet()){
System.out.println(entry.getKey()+entry.getValue());
}