目录
1.Map基础
1.1Map概念
Map是一个接口类,该类没有继承自Collection,该类中存储的是<K,V>结构的键值对,并且K一定是唯一的,不能重复。
<K,V>使用的是 key-value模型。
1.2常用方法
Map是接口类,不能实例化对象,所以只能实例化其实现类TreeMap或者HashMap
1.3基础用法案例
1.put方法
public static void main(String[] args) {
Map<String,Integer> map = new TreeMap<>();
map.put("abc",10);
map.put("hello",20);
map.put("hhf",23);
System.out.println(map);//Map类重写了toString方法
map.put("abc",20);//修改"abc"对应的value值
System.out.println(map);
}
2.get方法
public static void main(String[] args) {
Map<String,Integer> map = new TreeMap<>();
map.put("abc",10);
System.out.println(map.get("abc"));//10
System.out.println(map.get("key"));//null
}
3.Set<K> keySet() 返回所有 key 的不重复集合,不包含value
public static void main(String[] args) {
Map<String,Integer> map = new TreeMap<>();
map.put("abc",10);
map.put("hello",20);
map.put("hhf",23);
map.put("world",20);
Set<String> set = map.keySet();
System.out.println(set);
}
2.HashMap
HashMap底层是一颗红黑树,存储的无序的,所以自定义类型和null都能直接存储,不会报错。
基本使用代码:
#初始化声明
HashMap<keyType, valueType> mapName = new HashMap<keyType, valueType>();
添加与修改
mapName.put(key,value);
获取访问
mapName.get(key)
判断存在
mapName.containsKey(targetKey)
删除键对
mapName.remove(key);
键对数量
mapName.size()
获取所有值
mapName.values()
遍历访问
for (Map.Entry<keyType, valueType> entryName : mapName.entrySet()) {
entryName.getValue();
entryName.getKey();
}
!!!3.在springboot 中的使用
通过向Map容器中传入参数,利用baseMapper中的selectbyMap()函数进行数据筛选。
/***
* 通用查询操作 selectByMap map要写列名条件 不能是实体属性名
*/
@Override
public List<Classes> findByYear(Integer year) {
Map<String,Object> columnMap = new HashMap<>();
columnMap.put("year",year);
List<Classes> classes = classesMapper.selectByMap(columnMap);
return classes;
}