java map 用法_Java Map的基本用法

6ad64fd8f6f5784a9bb0a29e40b9219e.png

Java Map接口 (推荐学习:java课程)

5fe5f5788ab77d901b03db77e15e445e.png

java.util.Map 接口 查找表Map 体现的结构是一个多行两列的表格,左列称为key

右列称为value.

Map 总是根据key来获取对应的value.因此保存数据时是成对保存的,并且应当将查询的数据作为value查询条件作为key进行保存.

Map要求key 不允许重复(equals 比较判定)

常用的实现类

java.util.HashMap,散列表,哈希表

查询速度最快的数据结构

基本用法public class MapDemo{

public static void main(String[] args){

Mapmap = new HashMap<>();

/*

* V put(K k,V v)

* 将给定的key-value对存入Map

* 由于Map要求key不允许重复,所以若

* 使用重复的key存储则是替换value操作

* 那么返回值就是该key原来对应的value

* 若给定的key不存在则返回值为null.

*/

map.put("攻击",60);

Integer value=map.put("攻速",8);

System.out.println(value); // null

value=map.put("攻速",6);

System.out.println(value); // 8

/*

* V get(Object key)

* 根据给定的key获取对应的value

* 若给定的key不存在则返回值为null

*/

value =map.get("攻击");

System.out.println(value);//60

/*

* V remove(Object key)

* 删除当前Map中给定的key所对应的键值对

* 返回值为该key对应的value

*/

value = map.remove("攻击");

System.out.println(map);

System.out.println(value);

/*

* int size()

* 返回Map中的元素个数

*/

int size = map.size();

System.out.println(size);

/*

* 判断当前Map是否包含给定的key或value

*/

boolean ck = map.containsKey("攻速");

System.out.println("包含key:"+ck);

boolean cv = map.containsValue(96);

System.out.println("包含value:"+cv);

}

}

Map的遍历import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

/**

* Map的遍历 Map提供了三种遍历方式: 1:遍历所有的key 2:遍历每一组键值对 3:遍历所有的value(相对不常用)

*

*/

public class MapDemo2 {

public static void main(String[] args) {

Map map

= new HashMap<>();

map.put("语文", 99);

map.put("数学", 98);

map.put("英语", 97);

map.put("物理", 96);

map.put("化学", 99);

System.out.println(map);

/*

* 遍历所有的key

* Set keySet()

* 将当前Map中所有的key以一个Set集合

* 形式返回.遍历该集合等同于遍历了所有

* 的key

*/

Set keySet = map.keySet();

for(String key : keySet) {

System.out.println("key:"+key);

}

/*

* 遍历每一组键值对

* Set entrySet()

* 将当前Map中每一组键值对以一个Entry实例

* 存入Set集合并返回.

*

* java.util.Map.Entry

* Entry的每一个实例用于表示Map中的一组

* 键值对

*/

Set> entrySet

= map.entrySet();

for(Entry e:entrySet) {

String key = e.getKey();

Integer value = e.getValue();

System.out.println(key+":"+value);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值