Map<String, Integer> map=new HashMap<>(); //Map是接口,父类引用指向子类对象
map.put("张三", 23);
map.put("李四", 24);
map.put("王五", 25);
map.put("赵六", 27);
Integer value= map.remove("李四"); //移除李四的键和值
System.out.println(value);
System.out.println(map);
map集合的遍历(由于map中没有iterator()方法,所系需要转化成Set集合遍历):
第一种:使用iterator()遍历
Map<String, Integer> map=new HashMap<>(); //Map是接口,父类引用指向子类对象
map.put("张三", 23);
map.put("李四", 24);
map.put("王五", 25);
map.put("赵六", 27);
Integer i=map.get("张三"); //根据键获取值,获取到的是23
System.out.println(i);
Set<String> keyset=map.keySet(); //获取所有键的集合
//因为Map中没有Iterator(),所以先把键存储到Set集合中,并遍历
Iterator<String> it=keyset.iterator(); //获取迭代器
while(it.hasNext()) {
String key=it.next(); //获取每一个键
Integer value=map.get(key); //根据键获取值,获取到的是23
System.out.println(key+value);
}
第二种:使用增强for循环遍历
for (String key : map.keySet()){ //map.keySet()是获取所有的键
System.out.println(key+map.get(key)); //map.get(key)根据键获取值,获取到的是23
}
第三种,先获取所有键和值对象的集合,遍历键和值对象,根据键和值对象找到键和值
Map<String, Integer> map=new HashMap<>(); //Map是接口,父类引用指向子类对象
map.put("张三", 23);
map.put("李四", 24);
map.put("王五", 25);
map.put("赵六", 27);
//Map.Entry说明Entry是Map的内部接口,将键和值封装成Entry对象,并存储在Set集合中。
Set<Map.Entry<String, Integer>> entrySet=map.entrySet(); //获取键值对
//获取每一个对象
Iterator<Map.Entry<String, Integer>> it=entrySet.iterator();
while(it.hasNext()) {
//获取每一个Entry对象
Map.Entry<String, Integer> en=it.next();
String k=en.getKey(); //获取键
int v=en.getValue(); //获取值
System.out.println(k+v);
}