前言:
Map 是双值集合,也就是大佬们常说的 键值对 的形式存在的,相对于之前所介绍的Collection 中的 List 、Set , Map 可以通过 key 取到相应的 Value。
Map 的使用方法:
通过分析上图,可以看出 ==Collection 和 Map 是相互独立的两个接口,==从这个层面来看,两者是没有影响的,但在底层的实现两者由相互的借鉴。
另外,Map 是一个接口,是不能进行实例化的,所以也需要通过 HashMap(常用),TreeMap 对其
进行实例化。
Map常用方法:
代码展示:
package collection;
import java.util.Collection;
import java.util.HashMap;
import java.util.Set;
public class MapTest {
public static void main(String[] args) {
// 双值集合(键值对)
HashMap map = new HashMap();
map.put("01","张三");
map.put("02","李四");
map.put("03","王五");
System.out.println(map);
System.out.println("Size = " + map.size());
System.out.println("-----------------------------------");
// 根据 key ,找到 value
System.out.println(map.get("02"));
System.out.println("----------判断是否包含了指定的 key-------------------------");
// 判断是否包含了指定的 key
System.out.println(map.containsKey("01"));
System.out.println(map.containsKey("05"));
System.out.println("----------判断是否包含了指定的 Value-------------------------");
// 判断是否包含了指定的 Value
System.out.println(map.containsValue("ls"));
System.out.println(map.containsValue("李四"));
// 将 Map 双值集合转换为 单值集合
// 转换为只包含 key 的单值集合
Set set = map.keySet(); // key 是唯一的,value 是不唯一的
System.out.println(set);
// 转换为只包含 Value 的单值集合
Collection values = map.values();// Collection 是无序的,不唯一
System.out.println(values);
// Map 删除对象后的返回值是一个 key 对应的 value
// Collection 中的 list 和 Set 的返回值是一个 boolean 的值
Object remove = map.remove("01");
System.out.println("删除后返回的 value :" + remove);
System.out.println("删除后的Map 集合:"+ map);
}
}
效果图: