目录
第十四届蓝桥杯集训——HashMap(无序)与TreeMap(有序)
HashMap
包装类泛型约束
HashMap无序操作
TreeMap
TreeMap有序操作
HashMap 的 key 与 value 类型可以相同也可以不同,可以是字符串(String)类型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)类型的 value。
map也是支持泛型的,这个Key和Value泛型除了基本数据类型外还有【Number】、【Object】、
基本类型 | 引用类型 |
---|---|
boolean | Boolean |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
package com.item.action;
import java.util.HashMap;
import java.util.Set;
public class Demo3 {
public static void main(String[] args) {
HashMap<String, Object> map = new HashMap<String, Object>();
// 添加键值对
map.put("admin", "管理员");
map.put("zhangsan", "张三");
map.put("lisi", "李四");
map.put("wangwu", "王五");
map.put("zhaoliu", "赵六");
System.out.println(map);
// 修改
map.put("admin", "管理员的值被修改");
System.out.println(map);
//删除
map.remove("zhangsan");
System.out.println(map);
//根据key获取value
System.out.println(map.get("zhangsan"));
System.out.println(map.get("lisi"));
//返回set
Set<String> keySet = map.keySet();
System.out.println(keySet);
//遍历
for (String s : keySet) {
System.out.print(map.get(s)+",");
}
}
}
显示效果:
TreeMap是序的key-value集合,内部是通过红-黑树实现的,支持序列化 。
package com.item.action;
import java.util.Set;
import java.util.TreeMap;
public class Demo3 {
public static void main(String[] args) {
TreeMap<String, Object> map = new TreeMap<String, Object>();
// 添加键值对
map.put("admin", "管理员");
map.put("zhangsan", "张三");
map.put("lisi", "李四");
map.put("wangwu", "王五");
map.put("zhaoliu", "赵六");
System.out.println(map);
// 修改
map.put("admin", "管理员的值被修改");
System.out.println(map);
//删除
map.remove("zhangsan");
System.out.println(map);
//根据key获取value
System.out.println(map.get("zhangsan"));
System.out.println(map.get("lisi"));
//返回set
Set<String> keySet = map.keySet();
System.out.println(keySet);
//遍历
for (String s : keySet) {
System.out.print(map.get(s)+",");
}
}
}
输出效果: