Map:java.util.Map接口
*Map称为查找表,该数据结构体现的样子是一个“多行两列”的表格,左列
*称为key,右列称为value
*Map总是根据key查找对应的value
*存储元素也要求key-value成对存入
*常用的实现类:java.util.HashMap 散列表
* HashMap是基于散列算法实现的Map,是当今世界上最快的查询结构、
若只获取value值,则用get()
删除的remove()方法是成对删除,且返回值是被删除的value值
package map;
import java.util.HashMap;
import java.util.Map;
/**
* java.util.Map接口
*Map成为查找表,该数据结构体现的样子是一个“多行两列”的表格,左列
*称为key,右列称为value
*Map总是根据key查找对应的value
*存储元素也要求key-value成对存入
*常用的实现类:java.util.HashMap 散列表
* HashMap是基于散列算法实现的Map,是当今世界上最快的查询结构
* @author TEDU
*
*/
public class MapDemo1 {
public static void main(String[] args) {
Map<String,Integer> map=new HashMap<String,Integer>();
map.put("数学", 100);
map.put("物理", 97);
map.put("化学", 99);
map.put("英语", 20);
map.put("语文", 98);
Integer a=map.put("生物", 97);
System.out.println(a);
System.out.println(map);
//{物理=97, 生物=97, 数学=100, 化学=99, 语文=98, 英语=20}
//map的输出顺序与存入顺序不一样,
/*
* 如果向map中存入的键值对的key值已经存在map中,则不会再继续加入
* 而是替代之前的value值。如果向map中加入的键值对已经存在,用value
* 接收返回值,则返回值为替代的value值,如果之前没有这个元素,则返回null。
*
* 对于value是包装类的情况,不能直接用基本类型接收返回值,因为会触发
* 自动拆箱特性:
* int n=map.put("语文",99);
* 下面的代码编译后会改为:
* int n=map.put("语文",99).inValue();
*
* 若key在Map中不存在,则返回值为null,若拆箱则会引发空指针异常
*/
//多少行
int size=map.size();
System.out.println(size);
//查看数学的成绩
Integer math=map.get("数学");
System.out.println("数学"+math);
/*
* 删除元素
* 删除当前map中给定key值对应的这组键值对
* 返回值为该key所对应的value。若给定的key在key中不存在
* 则返回null
*/
Integer an=map.remove("数学");
System.out.println(an);
//containsKey()与containsValue()判断是否含有指定的key和value
boolean key=map.containsKey("化学");
System.out.println("是否含有key:"+key);
boolean value=map.containsValue(98);
System.out.println("是否含有value:"+value);} }
原文:https://www.cnblogs.com/chenzhiwei/p/9531752.html