map的遍历
1.第一中方式遍历
static void main() {Map<String,String> map = new HashMap<>();map.put("111","1111");map.put("222","2222");map.put("skfja","fdsafa");Set<String> keys = map.keySet();//增强for/*for (String key : keys) {System.out.println(key);String value = map.get(key);System.out.println(value);}*///迭代器/*Iterator<String> it = keys.iterator();while (it.hasNext()){String str = it.next();System.out.println(str);String value = map.get(str);System.out.println(value);}*///lambdakeys.forEach(s-> {System.out.println(s);String value = map.get(s);System.out.println(value);});}
}2.第二种用entry对象进行遍历
public class j1 {static void main() {Map<String,String> map = new HashMap<>();map.put("标枪","马超");map.put("任务挂件","明世隐");map.put("玉龙其实","尹志平");//1.Map的第三种方式,通过一个方法获取所有键值对的对象,返回一个Set集合Set<Map.Entry<String, String>> entries = map.entrySet();//2.遍历entries这个的对象,来遍历每一个键值对for (Map.Entry<String, String> entry : entries) {//3.利用entry来获取键和值String key = entry.getKey();String value = entry.getValue();}//用迭代器遍历Iterator<Map.Entry<String, String>> it = entries.iterator();while(it.hasNext()){Map.Entry<String, String> entry = it.next();//获取键值对对象String key = entry.getKey();String value = entry.getValue();System.out.println("键:"+key+"-----值:"+value);}//lambda遍历entries.forEach(new Consumer<Map.Entry<String, String>>() {@Overridepublic void accept(Map.Entry<String, String> stringStringEntry) {String key = stringStringEntry.getKey();String value = stringStringEntry.getValue();System.out.println("键:"+key +"----值:"+value);}});}
}3.第三种遍历方式lambda,forEach
import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;public class j2 {static void main() {Map<String,String> map = new HashMap<>();map.put("标枪","马超");map.put("任务挂件","明世隐");map.put("玉龙其实","尹志平");//用lambda表达式直接遍历map.forEach(new BiConsumer<String, String>() {@Overridepublic void accept(String key, String value) {System.out.println("键:"+key+"=="+"值:"+value);}});}
}简化:
public class j2 {static void main() {Map<String,String> map = new HashMap<>();map.put("标枪","马超");map.put("任务挂件","明世隐");map.put("玉龙其实","尹志平");//用lambda表达式直接遍历map.forEach(( key, value) -> System.out.println("键:"+key+"=="+"值:"+value));}
}