1. Map集合
相较于List和Set集合而言,Map集合所储存的数据为双列行,数据是以key和value为一个单位进行存储的,如在建立一个学生Map的时候,其中的数据应为 学号-姓名(key-value)等双列行类型 。
其中key的值不可以重复,value的值可以重复(其中道理显而易见:一个班级中可能有重名的同学,但是不会有两个同学的学号是重复的),此外,不一定要将学号和姓名作为储存数据,其他
的数据也可,其中具体哪个数据为key哪个数据为value由自己根据数据是否能重复来决定。
1.1 hashMap和treeMap的区别
hashMap为无序排列,在打印输出时也是乱序的,不会根据元素添加的先后顺序打印;
treeMap为有序排列,无论输入顺序是什么,在打印输出时统一按照key的值进行顺序输出。
1.2 Map集合的方法
声明
与Collection下的两个集合相似
Map<String, String> map01 = new hashMap<>(); Map<String, String> map02 = new treeMap<>();//多态
其中数据类型由使用者决定,并不要求一定都是String类型
增
添加元素时如果与之前的key值相同,那么新添加的元素会将原来的元素覆盖
与Collection下的两个集合不同,Map添加元素的方法为put(key, val);
key与val的数据类型在声明时确定
删
remove();
改
由于新元素会对旧元素进行覆盖,如果要修改key下对应的value值,直接添加一个相同key值不同value值的元素进行覆盖即可
查
get(key);
getClass();
遍历
除根据for循环遍历外还可直接print(hashMap);进行全部元素的打印输出
1.3 备注
在添加元素时虽然新元素会完成对旧元素的覆盖,但是新元素的返回值依旧是其覆盖元素的value值,如
haspMap.put(1, "hello"); String str = hashMap.put(1, "world"); System.out.print(str); //print: hello System.out.print(hashMap.get(1)); //print: world
根据以上代码进行区分