Map接口使用
package MONA.demo01;
import java.util.HashMap;
import java.util.Map;
public class Demo01 {
public static void main(String[] args) {
//K:键
//V:值
//Map<K,V>
Map<String,String> map = new HashMap<>() ;
//增加:put(一般集合为add)
//V put(K key,V value);存入值,返回之前的值,如果之前没有存在映射,那么返回null
System.out.println(map.put("111","aaa"));
System.out.println(map.put("111","bbb"));//返回aaa
//V get(Object key) 根据键获取值
String value = map.get("111");
System.out.println("获取到的值:"+value);
//key不存在返回null
System.out.println(map.get("222"));
//删除指定key的值
//V remove(Object key);
System.out.println("删除指定的key:"+map.remove("111"));
System.out.println("map = "+map);
}
}
Map集合遍历
代码1:
package MONA.demo01;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* Map 的 key 是唯一的
*/
public class Demo02 {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("111","aaa");
map.put("222","bbb");
map.put("333","ccc");
map.put("444","ddd");
//遍历map:
//键找值:即通过元素中的键,获取键所对应的值
//1.先获取所有的键
Set<String> keySet = map.keySet();
//System.out.println("keySet = " + keySet);
//2.遍历键的集合
//增强for
for(String k : keySet){
//System.out.println("k="+k);
//根据键取值
String value = map.get(k);
System.out.println("获取到的k:" + k + "获取到的值V:"+value);
}
//迭代器
//System.out.println(map);
}
}
遍历map:键找值:即通过元素中的键,获取键所对应的值 缺点: 比较麻烦 改进: 一次获取所有的键值对
Entry键值对对象
在Map类设计时,提供了一个嵌套接口:Entry。
Entry将键值对的对应关系封装成了对象。即键值对对象,这样我们在遍历Map集合时,就可以从每一个键值对(Entry)对象中获取对应的键与对应的值。
代码2:
package MONA.demo01;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Demo03 {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("111","aaa");
map.put("222","bbb");
map.put("333","ccc");
map.put("444","ddd");
//遍历:使用键值对对象
//Map.Entry<K,V>:封装了键值对的数据
//getKey() 获取键
//getValue() 获取值
//1.获取所有的键值对
//快捷键:打出map.entrySet(),然后Ctrl+Alt+V
Set<Map.Entry<String,String>> entrySet = map.entrySet();
//2.遍历Set集合,获取所有键值对对象
for (Map.Entry<String, String> entry : entrySet) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println("k="+key+" value"+value);
}
}
}