1.Map的使用
1.1关于Map的说明
Map是一个接口类,该类没有继承自Collection,该类中存储的是<K,V>结构的键值对,并且Key一定是唯一的,不能重复。
1.2关于Map.Entry<K,V>的说明
Map.Entry<K, V> 是Map内部实现的用来存放<key, value>键值对映射关系的内部类,该内部类中主要提供了<key, value>的获取,value的设置以及Key的比较方式
注意:Map.Entry<K,V>并没有提供设置Key的方法
1.3Map常用方法
注意:
- Map是一个接口,不能实例化对象,如果要实例化对象只能实例化其实现类TreeMap或HashMap
- Map中存放键值对的Key是唯一的,Value是可以重复的
- 在Map中插入键值对时,key只能有一个null,如果插入两个,前一个会被覆盖。但是TreeMap不可以为null,否则会抛出异常。
- Map中的Key可以分离出来,存储到Set中进行访问(因为Key不能重复)
- Map中的value可以全部分离出来,存储在Collection的任何一个子集合中(value可能有重复)
- Map中键值对的Key不可以被修改,Value可以被修改。如果要修改Key,先删除再重新添加
- TreeMap和HashMap的区别
1.4TreeMap使用案例
import java.util.Map;
import java.util.TreeMap;
public class treeMapDemo {
public static void treeMapDemo(){
Map<String,String> map=new TreeMap<>();
map.put("林冲","豹子头");
map.put("鲁智深", "花和尚");
map.put("武松", "行者");
map.put("宋江", "及时雨");
String str = map.put("李逵", "黑旋风");//看源码,put方法的返回值是key-value中的V
System.out.println(map.size());
System.out.println